瀏覽代碼

output dep labels in tasks.rec

Olivier Aumage 5 年之前
父節點
當前提交
0ce952943b
共有 1 個文件被更改,包括 17 次插入1 次删除
  1. 17 1
      src/debug/traces/starpu_fxt.c

+ 17 - 1
src/debug/traces/starpu_fxt.c

@@ -115,6 +115,7 @@ struct task_info
 	char *parameters;
 	unsigned int ndeps;
 	unsigned long *dependencies;
+	char **dep_labels;
 	unsigned long ndata;
 	struct data_parameter_info *data;
 	int mpi_rank;
@@ -153,6 +154,7 @@ static struct task_info *get_task(unsigned long job_id, int mpi_rank)
 		task->parameters = NULL;
 		task->ndeps = 0;
 		task->dependencies = NULL;
+		task->dep_labels = NULL;
 		task->ndata = 0;
 		task->data = NULL;
 		task->mpi_rank = mpi_rank;
@@ -211,6 +213,17 @@ static void task_dump(struct task_info *task, struct starpu_fxt_options *options
 		fprintf(tasks_file, "\n");
 		free(task->dependencies);
 	}
+	if (task->dep_labels)
+	{
+		fprintf(tasks_file, "DepLabels:");
+		for (i = 0; i < task->ndeps; i++)
+		{
+			fprintf(tasks_file, " %s", task->dep_labels[i]);
+			free(task->dep_labels[i]);
+		}
+		fprintf(tasks_file, "\n");
+		free(task->dep_labels);
+	}
 	fprintf(tasks_file, "Tag: %"PRIx64"\n", task->tag);
 	if (task->workerid >= 0)
 		fprintf(tasks_file, "WorkerId: %d\n", task->workerid);
@@ -2740,8 +2753,11 @@ static void handle_task_deps(struct fxt_ev_64 *ev, struct starpu_fxt_options *op
 	if (alloc)
 	{
 		_STARPU_REALLOC(task->dependencies, sizeof(*task->dependencies) * alloc);
+		_STARPU_REALLOC(task->dep_labels, sizeof(*task->dep_labels) * alloc);
 	}
-	task->dependencies[task->ndeps++] = dep_prev;
+	task->dependencies[task->ndeps] = dep_prev;
+	task->dep_labels[task->ndeps] = strdup(name);
+	task->ndeps++;
 
 	/* There is a dependency between both job id : dep_prev -> dep_succ */
 	if (show_task(task, options))