ソースを参照

Only wait for thread creation (for proper worker ordering) if fxt is used

Samuel Thibault 12 年 前
コミット
2d747d8264
共有1 個のファイルを変更した6 個の追加0 個の削除を含む
  1. 6 0
      src/core/workers.c

+ 6 - 0
src/core/workers.c

@@ -441,10 +441,12 @@ static void _starpu_launch_drivers(struct _starpu_machine_config *config)
 						_starpu_cpu_worker,
 						workerarg,
 						worker+1);
+#ifdef STARPU_USE_FXT
 					_STARPU_PTHREAD_MUTEX_LOCK(&workerarg->mutex);
 					while (!workerarg->worker_is_running)
 						_STARPU_PTHREAD_COND_WAIT(&workerarg->started_cond, &workerarg->mutex);
 					_STARPU_PTHREAD_MUTEX_UNLOCK(&workerarg->mutex);
+#endif
 				}
 				else
 				{
@@ -466,10 +468,12 @@ static void _starpu_launch_drivers(struct _starpu_machine_config *config)
 						_starpu_cuda_worker,
 						workerarg,
 						worker+1);
+#ifdef STARPU_USE_FXT
 					_STARPU_PTHREAD_MUTEX_LOCK(&workerarg->mutex);
 					while (!workerarg->worker_is_running)
 						_STARPU_PTHREAD_COND_WAIT(&workerarg->started_cond, &workerarg->mutex);
 					_STARPU_PTHREAD_MUTEX_UNLOCK(&workerarg->mutex);
+#endif
 				}
 				else
 				{
@@ -494,10 +498,12 @@ static void _starpu_launch_drivers(struct _starpu_machine_config *config)
 					_starpu_opencl_worker,
 					workerarg,
 					worker+1);
+#ifdef STARPU_USE_FXT
 				_STARPU_PTHREAD_MUTEX_LOCK(&workerarg->mutex);
 				while (!workerarg->worker_is_running)
 					_STARPU_PTHREAD_COND_WAIT(&workerarg->started_cond, &workerarg->mutex);
 				_STARPU_PTHREAD_MUTEX_UNLOCK(&workerarg->mutex);
+#endif
 				break;
 #endif
 #ifdef STARPU_USE_GORDON