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?

4 帖子 / 0 全新
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项

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.

Thanks,
~Gergana

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.

Regards,
David

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

发表评论

登录添加评论。还不是成员?立即加入