Browse Source

merge trunk

Samuel Thibault 7 years ago
parent
commit
e6c5d39646

+ 14 - 10
examples/reductions/dot_product.c

@@ -359,16 +359,20 @@ int main(int argc, char **argv)
 #endif
 
 #ifdef STARPU_USE_CUDA
-	cublasHandle_t handle;
-	cublasCreate(&handle);
-	cublasGetVersion(handle, &cublas_version);
-	cublasDestroy(handle);
-	if (cublas_version >= 7050)
-		starpu_cublas_init();
-	else
-		/* Disable the sdot cublas kernel, it is bogus with a
-		 * non-blocking stream (Nvidia bugid 1669886) */
-		dot_codelet.cuda_funcs[0] = NULL;
+	unsigned devices = starpu_cuda_worker_get_count();
+	if (devices)
+	{
+		cublasHandle_t handle;
+		cublasCreate(&handle);
+		cublasGetVersion(handle, &cublas_version);
+		cublasDestroy(handle);
+		if (cublas_version >= 7050)
+			starpu_cublas_init();
+		else
+			/* Disable the sdot cublas kernel, it is bogus with a
+			 * non-blocking stream (Nvidia bugid 1669886) */
+			dot_codelet.cuda_funcs[0] = NULL;
+	}
 #endif
 
 	unsigned long nelems = _nblocks*_entries_per_block;

+ 1 - 1
src/core/workers.c

@@ -1240,7 +1240,7 @@ int starpu_initialize(struct starpu_conf *user_conf, int *argc, char ***argv)
 	_STARPU_DISP("Warning: StarPU was configured with --enable-verbose, which slows down a bit\n");
 #endif
 #ifdef STARPU_USE_FXT
-	_STARPU_DISP("Warning: StarPU was configured with --with-fxt, which slows down a bit and limits scalability\n");
+	_STARPU_DISP("Warning: StarPU was configured with --with-fxt, which slows down a bit, limits scalability and makes worker initialization sequential\n");
 #endif
 #ifdef STARPU_PERF_DEBUG
 	_STARPU_DISP("Warning: StarPU was configured with --enable-perf-debug, which slows down a bit\n");

+ 1 - 1
src/datawizard/filters.c

@@ -570,7 +570,7 @@ void starpu_data_partition(starpu_data_handle_t initial_handle, struct starpu_da
 	initial_handle->children = NULL;
 
 	/* Make sure to wait for previous tasks working on the whole data */
-	starpu_data_acquire_on_node(initial_handle, STARPU_ACQUIRE_NO_NODE, STARPU_W);
+	starpu_data_acquire_on_node(initial_handle, STARPU_ACQUIRE_NO_NODE, initial_handle->initialized?STARPU_RW:STARPU_W);
 	starpu_data_release_on_node(initial_handle, STARPU_ACQUIRE_NO_NODE);
 
 	_starpu_data_partition(initial_handle, NULL, nparts, f, 1);

+ 1 - 1
src/datawizard/interfaces/data_interface.c

@@ -960,7 +960,7 @@ void starpu_data_unregister_submit(starpu_data_handle_t handle)
 	}
 
 	/* Wait for all task dependencies on this handle before putting it for free */
-	starpu_data_acquire_on_node_cb(handle, STARPU_ACQUIRE_NO_NODE_LOCK_ALL, STARPU_W, _starpu_data_unregister_submit_cb, handle);
+	starpu_data_acquire_on_node_cb(handle, STARPU_ACQUIRE_NO_NODE_LOCK_ALL, handle->initialized?STARPU_RW:STARPU_W, _starpu_data_unregister_submit_cb, handle);
 }
 
 static void _starpu_data_invalidate(void *data)

+ 4 - 4
src/debug/traces/starpu_paje.c

@@ -245,7 +245,7 @@ void _starpu_fxt_write_paje_header(FILE *file STARPU_ATTRIBUTE_UNUSED)
 	poti_DefineEntityValue("U", "S", "Unpartitioning", ".0 .0 1.0");
 	poti_DefineEntityValue("H", "S", "Hypervisor", ".5 .18 .0");
 	poti_DefineEntityValue("Bu", "S", "Building task", ".5 .18 .0");
-	poti_DefineEntityValue("Su", "S", "Submiting task", ".3 .09 .0");
+	poti_DefineEntityValue("Su", "S", "Submitting task", ".3 .09 .0");
 	poti_DefineEntityValue("Th", "S", "Throttling task submission", ".8 .6 .6");
 	poti_DefineEntityValue("MD", "S", "Decoding task for MPI", ".5 .18 .2");
 	poti_DefineEntityValue("MPr", "S", "Preparing task for MPI", ".4 .14 .2");
@@ -265,7 +265,7 @@ void _starpu_fxt_write_paje_header(FILE *file STARPU_ATTRIBUTE_UNUSED)
 	poti_DefineEntityValue("U", "WS", "Unpartitioning", ".0 .0 1.0");
 	poti_DefineEntityValue("H", "WS", "Hypervisor", ".5 .18 .0");
 	poti_DefineEntityValue("Bu", "WS", "Building task", ".5 .18 .0");
-	poti_DefineEntityValue("Su", "WS", "Submiting task", ".3 .09 .0");
+	poti_DefineEntityValue("Su", "WS", "Submitting task", ".3 .09 .0");
 	poti_DefineEntityValue("Th", "WS", "Throttling task submission", ".8 .6 .6");
 
 	/* Types for the MPI Communication Thread of the Memory Node */
@@ -284,7 +284,7 @@ void _starpu_fxt_write_paje_header(FILE *file STARPU_ATTRIBUTE_UNUSED)
 	poti_DefineEntityValue("TD", "CtS", "Testing Detached", ".0 .0 .6");
 	poti_DefineEntityValue("MT", "CtS", "MPI Test", ".0 .0 .8");
 	poti_DefineEntityValue("Bu", "CtS", "Building task", ".5 .18 .0");
-	poti_DefineEntityValue("Su", "CtS", "Submiting task", ".3 .09 .0");
+	poti_DefineEntityValue("Su", "CtS", "Submitting task", ".3 .09 .0");
 	poti_DefineEntityValue("Th", "CtS", "Throttling task submission", ".8 .6 .6");
 	poti_DefineEntityValue("C", "CtS", "Callback", ".0 .3 .8");
 
@@ -293,7 +293,7 @@ void _starpu_fxt_write_paje_header(FILE *file STARPU_ATTRIBUTE_UNUSED)
 	poti_DefineEventType("user_thread_event", "UT", "thread event type");
 	poti_DefineStateType("US", "UT", "User Thread State");
 	poti_DefineEntityValue("Bu", "US", "Building task", ".5 .18 .0");
-	poti_DefineEntityValue("Su", "US", "Submiting task", ".3 .09 .0");
+	poti_DefineEntityValue("Su", "US", "Submitting task", ".3 .09 .0");
 	poti_DefineEntityValue("C", "US", "Callback", ".0 .3 .8");
 	poti_DefineEntityValue("Th", "US", "Throttling task submission", ".8 .6 .6");
 	poti_DefineEntityValue("MD", "US", "Decoding task for MPI", ".5 .18 .2");