Download HP MPI User's Guide
Transcript
MPI 2.0 features supported Thread-compliant library To link with the thread-compliant library, use the -libmtmpi option when compiling your application. To create a communication thread for each process in your job (for example, to overlap computation and communication), specify the ct option in the MPI_MT_FLAGS environment variable. See “MPI_MT_FLAGS” on page 44 for more information. Alternatively, you may set the s[a][p]# option for the MPI_FLAGS environment variable. For the thread-compliant library, setting MPI_FLAGS=s[a][p]# has the same effect as setting MPI_MT_FLAGS=ct when the value of # is greater than 0. MPI_MT_FLAGS=ct takes priority over the default MPI_FLAGS=sp0 setting. Refer to “MPI_FLAGS” on page 37. To set the level of thread support for your job, you can specify the appropriate run time option in MPI_MT_FLAGS or modify your application to use MPI_Init_thread instead of MPI_Init. To modify your application, replace the call to MPI_Init with MPI_Init_thread(int *argc, char *((*argv) []), int required, int *provided)); where required Specifies the desired level of thread support. provided Specifies the provided level of thread support. Table 16 shows the possible thread-initialization values for required and the values returned by provided for the non thread-compliant library (libmpi) and for the thread-compliant library (libmtmpi). Appendix C 171