расчет арифметики на мультиядерной системе

  • Автор темы BloodMaX
  • Дата начала
Статус
Закрыто для дальнейших ответов.
B

BloodMaX

#1
Здравствуйте, вопрос таков, имеется цикл например 20 млн арифметич. рассчетов, как сдлетаь так что бы каждый расчет осуществлялся отдельный процессорным ядром.

for i:=1 to 20000000 do begin y:=sin(X);

даже такой банальщины, как это можно сделать в несоклько потоков? напишите пожалуйста пример с комментариями, скольок в интернете не рылся ничего понятного не нашел и приемлимового.
 

VahaC

Well-known member
10.01.2007
116
0
#2
Так создай к примеру 20 потоков и в каждом
Код:
for i:=1 to 1000000 do begin y:=sin(X);
 
B

BloodMaX

#3
через Tthread ?
не могли бы вы привести пример, я думаю это не слоэно написать
 
04.09.2006
2 566
3
#5
Так создай к примеру 20 потоков и в каждом
Бред! Вы сами то поняли, что написали?
BloodMaX
Первый вопрос, на который вы должны ответить, так это зависят ли результаты одной итерации цикла от другой, например, предыдущей. Если зависят, то распарралелить, в принципе можно, но нужно знать точно задачу. Если нет, то что мешает вам сделать несколько потоков и в каждом рассчитывать некоторый диапазон. Например, один цикл от 0 до 10 миллионов, а второй от 10 до 20 миллионов и т.д.
 
Статус
Закрыто для дальнейших ответов.