ソースを参照

jobs: remove field struct _starpu_job::model_name to avoid unnecessary
duplication with starpu_task::name. the name of the job will now be
the name of the associated task.

Nathalie Furmento 11 年 前
コミット
9928249727
共有6 個のファイルを変更した16 個の追加41 個の削除を含む
  1. 3 6
      src/core/dependencies/implicit_data_deps.c
  2. 1 5
      src/core/jobs.h
  3. 4 14
      src/datawizard/user_interactions.c
  4. 2 8
      src/util/execute_on_all.c
  5. 4 4
      src/util/misc.c
  6. 2 4
      tools/gdbinit

+ 3 - 6
src/core/dependencies/implicit_data_deps.c

@@ -255,10 +255,9 @@ struct starpu_task *_starpu_detect_implicit_data_deps_with_handle(struct starpu_
 					 * number of dependencies. */
 					struct starpu_task *sync_task = starpu_task_create();
 					STARPU_ASSERT(sync_task);
+					sync_task->name = "sync_task_redux";
 					sync_task->cl = NULL;
-#ifdef STARPU_USE_FXT
-					_starpu_get_job_associated_to_task(sync_task)->model_name = "sync_task_redux";
-#endif
+
 					/* Make this task wait for the previous ones */
 					_starpu_add_sync_task(handle, sync_task, sync_task);
 					/* And the requested task wait for this one */
@@ -528,11 +527,9 @@ int _starpu_data_wait_until_available(starpu_data_handle_t handle, enum starpu_d
 	{
 		struct starpu_task *sync_task, *new_task;
 		sync_task = starpu_task_create();
+		sync_task->name = "sync_task_seq_cons";
 		sync_task->detach = 0;
 		sync_task->destroy = 1;
-#ifdef STARPU_USE_FXT
-		_starpu_get_job_associated_to_task(sync_task)->model_name = "sync_task";
-#endif
 
 		/* It is not really a RW access, but we want to make sure that
 		 * all previous accesses are done */

+ 1 - 5
src/core/jobs.h

@@ -106,7 +106,7 @@ LIST_TYPE(_starpu_job,
 	 * with dot) */
         unsigned exclude_from_dag;
 
-	/* Is that task internal to StarPU ? */
+	/* Is that task internal to StarPU? */
 	unsigned internal;
 
 	/* Each job is attributed a unique id. */
@@ -122,10 +122,6 @@ LIST_TYPE(_starpu_job,
 	 * local variable */
 	struct timespec cl_start;
 
-	/* A symbol name may be associated to the job directly for debug
-	 * purposes (for instance if the codelet is NULL). */
-        const char *model_name;
-
 	struct bound_task *bound_task;
 
 	/* Number of workers executing that task (>1 if the task is parallel)

+ 4 - 14
src/datawizard/user_interactions.c

@@ -143,20 +143,15 @@ int starpu_data_acquire_on_node_cb_sequential_consistency(starpu_data_handle_t h
 	{
 		struct starpu_task *new_task;
 		wrapper->pre_sync_task = starpu_task_create();
+		wrapper->pre_sync_task->name = "acquire_cb_pre";
 		wrapper->pre_sync_task->detach = 1;
 		wrapper->pre_sync_task->callback_func = starpu_data_acquire_cb_pre_sync_callback;
 		wrapper->pre_sync_task->callback_arg = wrapper;
 
 		wrapper->post_sync_task = starpu_task_create();
+		wrapper->post_sync_task->name = "acquire_cb_post";
 		wrapper->post_sync_task->detach = 1;
 
-#ifdef STARPU_USE_FXT
-                struct _starpu_job *job = _starpu_get_job_associated_to_task(wrapper->pre_sync_task);
-                job->model_name = "acquire_cb_pre";
-                job = _starpu_get_job_associated_to_task(wrapper->post_sync_task);
-                job->model_name = "acquire_cb_post";
-#endif
-
 		new_task = _starpu_detect_implicit_data_deps_with_handle(wrapper->pre_sync_task, wrapper->post_sync_task, handle, mode);
 		STARPU_PTHREAD_MUTEX_UNLOCK(&handle->sequential_consistency_mutex);
 
@@ -265,18 +260,13 @@ int starpu_data_acquire_on_node(starpu_data_handle_t handle, unsigned node, enum
 	{
 		struct starpu_task *new_task;
 		wrapper.pre_sync_task = starpu_task_create();
+		wrapper.pre_sync_task->name = "acquire_pre";
 		wrapper.pre_sync_task->detach = 0;
 
 		wrapper.post_sync_task = starpu_task_create();
+		wrapper.post_sync_task->name = "acquire_post";
 		wrapper.post_sync_task->detach = 1;
 
-#ifdef STARPU_USE_FXT
-                struct _starpu_job *job = _starpu_get_job_associated_to_task(wrapper.pre_sync_task);
-                job->model_name = "acquire_pre";
-                job = _starpu_get_job_associated_to_task(wrapper.post_sync_task);
-                job->model_name = "acquire_post";
-#endif
-
 		new_task = _starpu_detect_implicit_data_deps_with_handle(wrapper.pre_sync_task, wrapper.post_sync_task, handle, mode);
 		STARPU_PTHREAD_MUTEX_UNLOCK(&handle->sequential_consistency_mutex);
 		if (new_task)

+ 2 - 8
src/util/execute_on_all.c

@@ -64,6 +64,7 @@ void starpu_execute_on_specific_workers(void (*func)(void*), void * arg, unsigne
 	{
 		unsigned worker = workers[w];
 		tasks[w] = starpu_task_create();
+		tasks[w]->name = name;
 
 		tasks[w]->cl = &wrapper_cl;
 		tasks[w]->cl_arg = &args;
@@ -74,10 +75,6 @@ void starpu_execute_on_specific_workers(void (*func)(void*), void * arg, unsigne
 		tasks[w]->detach = 0;
 		tasks[w]->destroy = 0;
 
-#ifdef STARPU_USE_FXT
-		_starpu_get_job_associated_to_task(tasks[w])->model_name = name;
-#endif
-
 		_starpu_exclude_task_from_dag(tasks[w]);
 
 		ret = starpu_task_submit(tasks[w]);
@@ -134,6 +131,7 @@ void starpu_execute_on_each_worker_ex(void (*func)(void *), void *arg, uint32_t
 	for (worker = 0; worker < nworkers; worker++)
 	{
 		tasks[worker] = starpu_task_create();
+		tasks[worker]->name = wrapper_cl.name;
 
 		tasks[worker]->cl = &wrapper_cl;
 		tasks[worker]->cl_arg = &args;
@@ -144,10 +142,6 @@ void starpu_execute_on_each_worker_ex(void (*func)(void *), void *arg, uint32_t
 		tasks[worker]->detach = 0;
 		tasks[worker]->destroy = 0;
 
-#ifdef STARPU_USE_FXT
-		_starpu_get_job_associated_to_task(tasks[worker])->model_name = wrapper_cl.name;
-#endif
-
 		_starpu_exclude_task_from_dag(tasks[worker]);
 
 		ret = _starpu_task_submit_internally(tasks[worker]);

+ 4 - 4
src/util/misc.c

@@ -38,11 +38,11 @@ const char *_starpu_job_get_model_name(struct _starpu_job *j)
 
 	struct starpu_task *task = j->task;
 	if (task)
+	{
 		ret = _starpu_codelet_get_model_name(task->cl);
+		if (!ret)
+			ret = task->name;
+	}
 
-#ifdef STARPU_USE_FXT
-	if (!ret)
-		ret = j->model_name;
-#endif
 	return ret;
 }

+ 2 - 4
tools/gdbinit

@@ -30,10 +30,8 @@ define starpu-print-job
     printf "\tsubmitted:\t\t\t<%d>\n", $job->submitted
     printf "\tterminated:\t\t\t<%d>\n", $job->terminated
     printf "\tjob_id:\t\t\t\t<%d>\n", $job->job_id
-    if _starpu_use_fxt == 1
-      if $job->model_name
-        printf "\tmodel_name:\t\t\t<%s>\n", $job->model_name
-      end
+    if $job->task
+        printf "\tname:\t\t\t\t<%s>\n", $job->task->name
     end
   end
 end