Browse Source

In FxT mode, wait only for the first worker of a worker set

Samuel Thibault 5 years ago
parent
commit
b292783262
1 changed files with 5 additions and 1 deletions
  1. 5 1
      src/core/workers.c

+ 5 - 1
src/core/workers.c

@@ -831,7 +831,11 @@ static void _starpu_launch_drivers(struct _starpu_machine_config *pconfig)
 		 * before starting another one, to make sure they appear in
 		 * order in the trace.
 		 */
-		if (workerarg->run_by_starpu == 1 && workerarg->arch != STARPU_MPI_MS_WORKER)
+				struct _starpu_worker_set *worker_set = workerarg->set;
+
+				if (worker_set->workers != workerarg)
+		if ((!workerarg->set || workerarg->set->workers == workerarg)
+			&& workerarg->run_by_starpu == 1 && workerarg->arch != STARPU_MPI_MS_WORKER)
 		{
 			STARPU_PTHREAD_MUTEX_LOCK(&workerarg->mutex);
 			while (!workerarg->worker_is_running)