Browse Source

compute_all_performance_predictions: do not compute memory_node and perf_arch for every implementation.

These values only depend on the worker, not on the implementation.
Cyril Roelandt 12 years ago
parent
commit
5e3c268cbd
1 changed files with 2 additions and 3 deletions
  1. 2 3
      src/sched_policies/deque_modeling_policy_data_aware.c

+ 2 - 3
src/sched_policies/deque_modeling_policy_data_aware.c

@@ -441,6 +441,8 @@ static void compute_all_performance_predictions(struct starpu_task *task,
 	for (worker = 0; worker < nworkers; worker++)
 	{
 		struct _starpu_fifo_taskq *fifo = queue_array[worker];
+		enum starpu_perf_archtype perf_arch = starpu_worker_get_perf_archtype(worker);
+		unsigned memory_node = starpu_worker_get_memory_node(worker);
 
 		for (nimpl = 0; nimpl < STARPU_MAXIMPLEMENTATIONS; nimpl++)
 		{
@@ -458,9 +460,6 @@ static void compute_all_performance_predictions(struct starpu_task *task,
 			if (exp_end[worker][nimpl] > max_exp_end)
 				max_exp_end = exp_end[worker][nimpl];
 
-			enum starpu_perf_archtype perf_arch = starpu_worker_get_perf_archtype(worker);
-			unsigned memory_node = starpu_worker_get_memory_node(worker);
-
 			//_STARPU_DEBUG("Scheduler dmda: task length (%lf) worker (%u) kernel (%u) \n", local_task_length[worker][nimpl],worker,nimpl);
 
 			if (bundle)