LINUX.ORG.RU

как разбить на части расчет?


0

0

как разбить на части расчет?

Дано: массив массивов (std::vector< std::vector> ). Каждый элемент содержит как минимум одно значение. Берем по одному значению из каждого массива и делаем на их основе расчет, потом берем другую комбинацию и - опять расчет. И так пока не переберем все. Общее количество вариантов может быть между 1e+6 и 1e+10 Сам перебор занимает ~5% времени. Расчет - ~90%. Надо: разбить перебор на N приблизительно равных частей, для того, чтобы перебрать параллельно на нескольких (N) машинах. Идеально было-бы разбить один раз перед расчетом и потом собрать резултьаты.

Xeлп


Если расчеты могут обрабатываться независимо друг от друга, то какие проблемы?

Генерируешь по M расчетов на каждую машину, отправляешь. Как только машина завершает обработку, посылает на головной узел запрос на новую порцию данных вместе с результатами.

Что параллелим, seti@home?

Shmuma
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.