Reputation: 1
I have a small problem with a program that is run using MPI. I need to run this program on a HPC and I need to run it this way. The program needs to have 1 MPI process per node, use the number of cores allocated and create a certain number of OpenMP threads. The program must have 1 MPI process per node, use the number of cores allocated, and create a certain number of OpenMpi threads. For example, if I have 1 node and I want to have 2 OpenMP threads with 13 cores, with this string
mpirun --bind-to core -hostfile /path/to/hostfile -np 1 -x OMP_NUM_THREADS --map-by ppr:1:node:PE=13 /program/to/run
the program will create 1 MPI process with 2 OpenMP threads, but it will use only 2 cores. How can I fix this. PBS allocate the right number of resouce and othres tool works fine, so the problem is in the way I lunch the program. Thanks in advance.
I have tried to start mpirun with OMP_PROC_BIND OMP_PLACES --bind to none, and other combinations, but the program still uses 1 core per OpenMP thread.
Upvotes: 0
Views: 103