Гибридный OpenMP и MPI запрашивает ресурсы правильно - PullRequest
0 голосов
/ 27 мая 2020

У меня есть программа, распараллеленная с MPI, и я хочу использовать OpenMP внутри каждого процесса для создания потоков, чтобы ускорить некоторые вычисления. Когда я просто запускаю:

mpirun -np 2 ./executable, я получаю 2 процесса на 2 отдельных ядрах (как и предполагалось). Но часть OMP с установленными 16 потоками также выполняется только на этих 2 ядрах, тогда как остальные 14 ядер простаивают.

Итак, я попытался назначить больше доступных процессоров:

mpirun --cpu-set 0-15 -np 2 ./executable Таким образом, у меня действительно все 16 ядер используются для всех моих потоков, но проблема в том, что оба основных процесса запускается на одном ядре в начале ...

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

...