Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.

Question for CPU utilization while while waiting with MPI_RECV under MS Windows

YoungChul_C_
Beginner
520 Views

Is it natural that an MPI process consumes a CPU (up to 100% of its utilization) under MS Windows while waiting with MPI_RECV?

I think that it should be in the sleep state before it receives a signal from the matching MPI_SEND.

I need some experts' comment on this.

- YoungChul Cho

0 Kudos
1 Reply
TimP
Honored Contributor III
520 Views

You have environment variables available in Intel MPI to control the time for which the receive wait loop spins before sleeping.  This feature may not be present in the Microsoft or MPICH2 implementations, as some of their experts have been vociferous about stating that wait loops should never be allowed to sleep, as they use spin wait to promote core locality as well as minimizing latency upon completion of receive.  The long spin wait may also help in some performance investigations.

If your cluster consists of single CPU nodes, or your application doesn't depend on data locality for performance, you might prefer a fairly short spin wait.

0 Kudos
Reply