![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Есть готовая программа, в которой производятся расчеты по вложенным циклам.
На 4-х ядерном процессоре загрузка не превышает 25%. Итак, вызываются несколько функций, примерно так: a1:=f1(a,b,c); a2:=f2(x,y,z); ............. an:=fn(m,n,l); Затем результаты объединяются. Можно ли направить эти функции в разные потоки? И как? Заранее благодарен, |
#2
|
||||
|
||||
![]() И вы думаете разные потоки будут крутится на разных ядрах? А вот и нетушки.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
||||
|
||||
![]() Если вы хотите получить реальный прирост производительности при расчетах, то нагружать надо графический процессор. Там прирост будет в разы.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
![]() Цитата:
А потому можно сделать функцию, которая принимает агрументы и адерс функции вычисления (ведь все функции одинаковые по количеству и типу параметров), вызывает и сохраняет результат. После чего запустить много потоков (по числу ядер), передав соответствующие функции подсчета и аргументы. А граф процессор, конечно, можно, но это уже не за 10 минут делается, это надо очень много курить все эти OpenMP и прочую жесть. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 16.05.2015 в 22:05. |
#5
|
|||
|
|||
![]() Если можно, поподробнее.
Как к потоку привязать функцию? |
#6
|
||||
|
||||
![]() Направление я дал. А переписывать в 1001-й раз учебник по потокам не собираюсь. По передачам функций тоже. Можно же хоть немного самому что-то поделать?
jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 16.05.2015 в 22:03. |
#7
|
||||
|
||||
![]() Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |