• Регистрация
Alex991
Alex991 0.00
н/д

Создание параллельных задач

17.10.2023

Настали времена, когда ядер больше чем задач, ищу помощи или совета:

Есть ПК на 100 ядер, есть 10 начальных условий. Надо просчитать 10 раз задачу со случайными величинами для 10 начальных условий, чтобы все 100 ядер были задействованы и по одному разу.

Предполагаю, что как-то надо создать 10 задач/кластеров и распихать на parfor-ы. 

P.s. создавать 100 н.у. не хочу, т.к. результаты неудобно сохранять

Теги

    17.10.2023

    Ответы

    • aBoomest
      aBoomest+942.89
      20.10.2023 08:47

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

      • bvg777
        bvg7770.00
        1.11.2023 17:04

        Почитайте эту статью. Может поможет.