From 5312d7310b98f83b9c8f8fc6f3f4310d1761b4cc Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Wed, 29 Mar 2023 00:08:26 +0200
Subject: [PATCH] control: Restore MPI_THREAD_MULTIPLE removed by !282 as
 SERIALIZED seems to be insufficient to manage the datatypes

---
 control/control.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/control/control.c b/control/control.c
index 374ec1c87..af8de2390 100644
--- a/control/control.c
+++ b/control/control.c
@@ -102,12 +102,12 @@ int __chameleon_initpar(int ncpus, int ngpus, int nthreads_per_worker)
            * In testings, only StarPU's internal thread performs
            * communications, and *then* Chameleon performs communications in
            * the check step. */
-          const int required = MPI_THREAD_SERIALIZED;
+          const int required = MPI_THREAD_MULTIPLE;
           if ( MPI_Init_thread( NULL, NULL, required, &provided ) != MPI_SUCCESS) {
              chameleon_fatal_error("CHAMELEON_Init", "MPI_Init_thread() failed");
           }
           if ( provided < required ) {
-             chameleon_fatal_error("CHAMELEON_Init", "MPI_Init_thread() was not able to provide the requested thread support");
+             chameleon_fatal_error("CHAMELEON_Init", "MPI_Init_thread() was not able to provide the requested thread support (MPI_THREAD_MULTIPLE), this may be an issue if the level provided is not enough for the underlying runtime system.");
           }
       }
     }
-- 
GitLab