Skip to content

Commit f14e601

Browse files
AboorvaDevarajanawlauria
authored andcommitted
Allow mpi_init_thread to override the MPI_THREAD_LEVEL
Signed-off-by: Austen Lauria <[email protected]>
1 parent 78a8513 commit f14e601

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

ompi/mpi/c/init_thread.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ int MPI_Init_thread(int *argc, char ***argv, int required,
4848
int *provided)
4949
{
5050
int err, safe_required = MPI_THREAD_SERIALIZED;
51+
char *env;
5152

5253
ompi_hook_base_mpi_init_thread_top(argc, argv, required, provided);
5354

@@ -56,7 +57,13 @@ int MPI_Init_thread(int *argc, char ***argv, int required,
5657
*/
5758
if( (MPI_THREAD_SINGLE == required) || (MPI_THREAD_SERIALIZED == required) ||
5859
(MPI_THREAD_FUNNELED == required) || (MPI_THREAD_MULTIPLE == required) ) {
59-
safe_required = required;
60+
61+
if (NULL != (env = getenv("OMPI_MPI_THREAD_LEVEL"))) {
62+
safe_required = atoi(env);
63+
}
64+
else {
65+
safe_required = required;
66+
}
6067
}
6168

6269
*provided = safe_required;

0 commit comments

Comments
 (0)