I have server with two intel xeon e5-2697 v2 cpus. I use it to run wrf model every day. I need to run the wrf.exe in such mode:
10 threads on each cpus.
I compiled wrf(v4.1.3) in dm+sm mode using pgi compilers v19.04. In my script I use:
mpirun -npersocket 1 ./wrf.exe
but when I check only 2 wrf.exe processes are launched.
Can anyone help me?
when I check only 2 wrf.exe processes are launched.
Two processes is correct, but I’m assuming that you’re also not seeing the 10 threads per socket. Most likely, mpirun is binding all 10 threads to the same core so it appears that only one thread per process is running.
Assuming you’re using OpenMPI, per the mpirun man page (https://www.open-mpi.org/doc/v3.0/man1/mpirun.1.php), consider using “–map-by ppr:10:socket” instead of “-npersocket 1” (which is a deprecated option). This should still run 2 processes, but give each process 10 cores.
Hope this helps,