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

MPI Library for Windows Thread support level

sashibala
Beginner
444 Views
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
0 Kudos
3 Replies
Gergana_S_Intel
Employee
444 Views
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

0 Kudos
sashibala
Beginner
444 Views
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


0 Kudos
Gergana_S_Intel
Employee
444 Views

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

0 Kudos
Reply