MPI Library for Windows Thread support level

MPI Library for Windows Thread support level

I am migrating an MPI application (currently in Linux, PowerPC platform) over to Intel Xeon platform with Windows 2008 server, and I hope to use the Intel MPI. I just downloaded the MPI Library kit (rev 3.2 update-1 for Windows), for eval, before we comit.

I need to use the thread safe library, for Windows, at the MPI_THREAD_MULTIPLE level (..MPI_THREAD_FUNNELED is not enough for me).

Is MPI_THREAD_MULTIPLE supported already in the thread-safe library version, and if so how do I get/do it ?
(...when I used the thread-safe library in my application, I could only getup toMPI_THREAD_FUNNELED level.)

Appreciate a prompt response.
Thanks
Sashi Balasingam

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Quoting - sashibala
Is MPI_THREAD_MULTIPLE supported already in the thread-safe library version, and if so how do I get/do it ?
(...when I used the thread-safe library in my application, I could only getup toMPI_THREAD_FUNNELED level.)

Hi Sashi, welcome to the HPC forums!

Yes, MPI_THREAD_MULTIPLE is supported by the Intel MPI Library. As noted in the Release Notes, the default level provided is MPI_THREAD_FUNNELED (due to performance reasons). In order to enable full thread safety, you need to link with the appropriate version of the library by selecting the -mt_mpi option during the link stage, as follows:

$ mpiicc -mt_mpi test.c -o test.exe

More details are available in the Reference Manual for Windows*. Let us know if you hit any problems.

Regards,
~Gergana

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

Quoting - Gergana Slavova (Intel)

Thanks Gergana for the prompt response.

I am using MS Visual Studio to compile and link my project, with the linker using the 'impimt.lib'. Will this not work, or do I need to do it strictly from command line ?

Sashi

Hi Sashi, welcome to the HPC forums!

Yes, MPI_THREAD_MULTIPLE is supported by the Intel MPI Library. As noted in the Release Notes, the default level provided is MPI_THREAD_FUNNELED (due to performance reasons). In order to enable full thread safety, you need to link with the appropriate version of the library by selecting the -mt_mpi option during the link stage, as follows:

$ mpiicc -mt_mpi test.c -o test.exe

More details are available in the Reference Manual for Windows*. Let us know if you hit any problems.

Regards,
~Gergana

Hi Sashi

Linking directly to impimt.lib would work as well. No need to use the command line if you're already using Visual Studio.

Good luck,
~Gergana

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

Leave a Comment

Please sign in to add a comment. Not a member? Join today