Создание параллельных задач
17.10.2023
Настали времена, когда ядер больше чем задач, ищу помощи или совета:
Есть ПК на 100 ядер, есть 10 начальных условий. Надо просчитать 10 раз задачу со случайными величинами для 10 начальных условий, чт...
Настали времена, когда ядер больше чем задач, ищу помощи или совета:
Есть ПК на 100 ядер, есть 10 начальных условий. Надо просчитать 10 раз задачу со случайными величинами для 10 начальных условий, чтобы все 100 ядер были задействованы и по одному разу.
Предполагаю, что как-то надо создать 10 задач/кластеров и распихать на parfor-ы.
P.s. создавать 100 н.у. не хочу, т.к. результаты неудобно сохранять
Комментарии
На сколько я знаю, парфор это круто конечно, но самому вручную распихать - задача не простая. При этом если пользоваться арифметикой присущей матлабу (т.е. использовать матрицы, а не циклы и т.п.) то матлаб сам хорошо все распихает.
1. Была задача расчета несколько десятков тысяч раз посчитать систему д.у. Расчет несколько часов.
2. Ручное распихивание и парфор на 4 ядра уменьшили время до примерно полутра часов.
3.Переделал программ у с использованием везде где возможно матричных матлабовских вычислений. Скорость повысилась до нескольких минут.
Почитайте эту статью. Может поможет.