Bläddra i källkod

Avoid checking codelet fields several times

Samuel Thibault 5 år sedan
förälder
incheckning
6080cfbd44
2 ändrade filer med 9 tillägg och 0 borttagningar
  1. 5 0
      include/starpu_task.h
  2. 4 0
      src/core/task.c

+ 5 - 0
include/starpu_task.h

@@ -528,6 +528,11 @@ struct starpu_codelet
 
 
 	struct starpu_perf_counter_sample *perf_counter_sample;
 	struct starpu_perf_counter_sample *perf_counter_sample;
 	struct starpu_perf_counter_sample_cl_values *perf_counter_values;
 	struct starpu_perf_counter_sample_cl_values *perf_counter_values;
+
+	/**
+	   Whether _starpu_codelet_check_deprecated_fields was already done or not.
+	 */
+	int checked;
 };
 };
 
 
 /**
 /**

+ 4 - 0
src/core/task.c

@@ -586,6 +586,8 @@ void _starpu_codelet_check_deprecated_fields(struct starpu_codelet *cl)
 {
 {
 	if (!cl)
 	if (!cl)
 		return;
 		return;
+	if (cl->checked)
+		return;
 
 
 	uint32_t where = cl->where;
 	uint32_t where = cl->where;
 	int is_where_unset = where == 0;
 	int is_where_unset = where == 0;
@@ -711,6 +713,8 @@ void _starpu_codelet_check_deprecated_fields(struct starpu_codelet *cl)
 		where |= STARPU_MIC|STARPU_MPI_MS;
 		where |= STARPU_MIC|STARPU_MPI_MS;
 	}
 	}
 	cl->where = where;
 	cl->where = where;
+
+	cl->checked = 1;
 }
 }
 
 
 void _starpu_task_check_deprecated_fields(struct starpu_task *task STARPU_ATTRIBUTE_UNUSED)
 void _starpu_task_check_deprecated_fields(struct starpu_task *task STARPU_ATTRIBUTE_UNUSED)