LINUX.ORG.RU

MPI+OpenMP

 ,


0

3

Можно ли запустить 1 поток на одном узле и 4 потока на втором?

P.S. По умолчанию потоки деляться поровну при их запуске mpirun -np N, несмотря на OMP_NUM_THREADS, omp_set_num_threads ...

в machinefile через двоеточие можно указьівать кол-во инстансов. Но OpenMP, на сколько я помню, сам создает себе тредьі, так что mpi должен создавать по 1 потоку на каждом узле.

anonymous
()
Ответ на: комментарий от anonymous

А вообще в первую очередь гуглить нужно. Милион раз єто спрашивали на stackoverflow

anonymous
()
Ответ на: комментарий от anonymous

гуглил, двоеточие пробовал:

Open RTE detected a parse error in the hostfile:
    hosts.conf
It occured on line number 1 on token 5:
    :

phys2015
() автор топика

Нужно различать, что MPI - для процессов, а не потоков. А OpenMP - для потоков. Они не связаны друг с другом, можно запукать несколько процессов на узле по количеству ядер на нём, можно запускать по одному процессу на узле но внутри этих процессов использовать OpenMP для потоков. OMP_NUM_THREADS и omp_set_num_threads() говорят OpenMP сколько потоков запускать.

Так что ответ - можно, запускай по одному MPI-процессу на узле (если два узла то mpirun -np 2) и внутри одного процесса делай omp_set_num_threads(1), внутри другого - omp_set_num_threads(4).

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