浏览代码

simgrid: for non-mpi execution we want main to use MSG tsd

Samuel Thibault 6 年之前
父节点
当前提交
f143fc7093
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      src/common/thread.c

+ 4 - 2
src/common/thread.c

@@ -259,7 +259,8 @@ int starpu_pthread_setspecific(starpu_pthread_key_t key, const void *pointer)
 	char *end;
 	/* Test whether it is an MPI rank */
 	strtol(process_name, &end, 10);
-	if (!*end || !strcmp(process_name, "wait for mpi transfer") || !strcmp(process_name, "main"))
+	if (!*end || !strcmp(process_name, "wait for mpi transfer") ||
+			(!strcmp(process_name, "main") && _starpu_simgrid_running_smpi()))
 		/* Special-case the SMPI process */
 		array = smpi_process_get_user_data();
 	else
@@ -281,7 +282,8 @@ void* starpu_pthread_getspecific(starpu_pthread_key_t key)
 	char *end;
 	/* Test whether it is an MPI rank */
 	strtol(process_name, &end, 10);
-	if (!*end || !strcmp(process_name, "wait for mpi transfer") || !strcmp(process_name, "main"))
+	if (!*end || !strcmp(process_name, "wait for mpi transfer") ||
+			(!strcmp(process_name, "main") && _starpu_simgrid_running_smpi()))
 		/* Special-case the SMPI processes */
 		array = smpi_process_get_user_data();
 	else