Можно заточить прогу под P-4 Hyper-Threading ?
P.S. Вопрос для посвященных ...
:)
Как можно реально заточить программу под P-4 Hyper-Threading (ускорить вычисления).
P.S. Вопрос для посвященных ...
:)
http://dev.dtf.ru/articles/read.php?id=354&page=1
вот эта статейка неплохо описывает НТ... и кое какие практические рекомендации тоже найдешь :)
кстати все зависит от того, каие именно вычисления... помните закон Амдала :)
Что за закон Мангала ?
:)
За статью спасибо, такая статья мне не попадалась.
Что за закон Мангала ?
:)
Если программа содержит часть f (0<f<1) кода, который невозможно распараллелить, то производительность растет с числом процессоров N как
P=N/(f(N-1)+1)
то есть эффективность вычислений не всегда можно ускорить путем увеличения числа выч. узлов (в данном случае логических процессоров). вообще закон применяеться при проектировании кластеров, но помнить его нужно :) при ДВУХ процессорах, тем более логических, конечно он врядли будет действовать... а вот если ты пишешь научное по для кластера на 64 процессора... :)
:)
Хотел оптимизировать сложные мат. вычисления под P-4 Hyper-Threading, вдруг intel ещё сильней раскрутит эту технологию ...
:)
А что-то я не очень понимаю как это можно мат. вычисления оптимизировать через HT.
Насколько я понял из статей, HT работает как разделение процессора на два логических. Такое разделение возможно если команды обрабатываются разными блоками процессора, например АЛУ и ...(господи, все уже позабывал, какие там у нас еще блоки то были). Но вообщем если у тебя например одни математические операций с плавающей точкой нагружающие мат. сопроцессор, то как его можно распараллелить...
Конечно если у тебя какие-нибудь обычные мат. операции и операции с плавающей точкой, то их возможно и можно будет распараллелить.... но все остальное, может у тебя конечно какие-то хитрые вычисления, но я себе трудом представляю как такое можно сделать.
А что-то я не очень понимаю как это можно мат. вычисления оптимизировать через HT.
Пишу ПО для диагностирования множественных дефектов в судовой автоматике методом Изоварных Характиристик, но для получения нужного результата требуется произвести многоступенчатые длительные вычисления, вот и решил по простому разбить на два потока т.к. в HT должен аппаратно выполнять потоки и т.п., но я так понимаю его надо как-то принудить к выполнению именно моих двух потоков (возможно не с realtime приоритетом). Если получится прирост производительности хотя бы на 20% эту будет уже хорошо.
:)