Skip to content

Commit 2bbd224

Browse files
committed
pmix: hint pmix not to spawn threads
PMIx launches background thread to support nonblocking operation, e.g. PMIx_Fence, and event notification. MPICH always to want to manage threads explicitly. Since currently we only use blocking operations, it should work without the background thread.
1 parent 38a9024 commit 2bbd224

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/util/mpir_pmix.inc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,14 @@ static int pmix_init(int *has_parent, int *rank, int *size, int *appnum)
5050
static int pmix_init_count = 0;
5151
pmix_init_count++;
5252
if (pmix_init_count == 1) {
53-
pmi_errno = PMIx_Init(&pmix_proc, NULL, 0);
53+
pmix_info_t *info;
54+
PMIX_INFO_CREATE(info, 1);
55+
int flag = 1;
56+
PMIx_Info_load(info, PMIX_EXTERNAL_PROGRESS, &flag, PMIX_BOOL);
57+
58+
pmi_errno = PMIx_Init(&pmix_proc, info, 0);
59+
PMIX_INFO_FREE(info, 1);
60+
5461
if (pmi_errno == PMIX_ERR_UNREACH) {
5562
/* Failed to connect to server. Throw an error if an
5663
* incompatible server is detected (e.g. hydra), otherwise

0 commit comments

Comments
 (0)