spin lock in Intel mpi

spin lock in Intel mpi

I notice that when intel mpi is idle it is taking up 100% of one of my cpu's. Since my application is more computational intensive over multi-core's than communication intensive, this is causing me large performance problems. Is there any way I can get rid of this spin lock or control it's polling rate, even at the loss of latency?

publicaciones de 4 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.

Hi David,

The Intel MPI Library provides a way to control the value of the spin count when polling the fabrics on a cluster by using the I_MPI_SPIN_COUNT env variable. Its argument should be the number of times the polling loop will spin before freeing the processors. Generally, a smaller value with release the processor more frequently.

The default settings are looping 1 time for the sockets/shared memory devices and 250 times when using RDMA-based devices. You can try changing the value and see if it makes a difference for your application. More information is in the Intel MPI Library Reference Manual in the /doc directory.


Gergana Slavova
Technical Consulting Engineer
Intel® Cluster Tools
E-mail: gergana.s.slavova_at_intel.com

Hi Gergana,
I played around with I_MPI_SPIN_COUNT already and it doesn't seem to make a difference. I've also run my application under MPICH2 and MVAPICH2 without this problem.


Hi David,

Please try the latest Intel MPI Library 3.1 with the I_MPI_WAIT_MODE environment variable set to enable. It shouldwork for following the sock, shm, or ssmdevices. Let us know how the suggestion help.

Best regards, Andrey

Deje un comentario

Por favor inicie sesión para agregar un comentario. ¿No es socio? Únase ya