Hello,
First is the clarification of the usage of /numprocessors option of job command:
/numprocessors - The number of processors required by this job;
the job will run on at least the Minimum and no
more than the Maximum [deprecated]
So /numprocessors means how many cores will allocate for the job, not the number of OpenMP threads. Also note that the option -np for mpiexec will take precedence of /numprocessors. So if you run with job submit /numprocessors:4 mpiexec -np
1 program.exe, it will run with just 1 MPI process.
You can achieve your design by one of the following ways:
1. Set the number of OpenMP threads via the enviroment variable: OMP_NUM_THREADS
2. Run with /numnodes option of job command and -c option for mpiexe, for example, if you want to run 1 MPI on each node of your cluster, and 4 threads on each node
job submit /numnodes:2 mpiexec -c 1 -env OMP_NUM_THREADS 4 program.exe
if you want to run 2MPI X 4OpenMP (2 MPI on each node and 2 OpenMP threads on each node)
job submit /numnodes:2 mpiexec -c 2 -env OMP_NUM_THREADS 2 program.exe
Please let me know whehter this works for you.
Thanks,
James