Pārlūkot izejas kodu

Move _starpu_job_get_data_size to where it actually makes sense

Samuel Thibault 12 gadi atpakaļ
vecāks
revīzija
743b18b148
2 mainītis faili ar 22 papildinājumiem un 22 dzēšanām
  1. 0 22
      src/core/jobs.c
  2. 22 0
      src/core/perfmodel/perfmodel_history.c

+ 0 - 22
src/core/jobs.c

@@ -28,28 +28,6 @@
 #include <starpu_top.h>
 #include <top/starpu_top_core.h>
 
-size_t _starpu_job_get_data_size(struct starpu_perfmodel *model, enum starpu_perf_archtype arch, unsigned nimpl, struct _starpu_job *j)
-{
-	struct starpu_task *task = j->task;
-
-	if (model && model->per_arch[arch][nimpl].size_base) {
-		return model->per_arch[arch][nimpl].size_base(task, arch, nimpl);
-	} else if (model && model->size_base) {
-		return model->size_base(task, nimpl);
-	} else {
-		unsigned nbuffers = task->cl->nbuffers;
-		size_t size = 0;
-
-		unsigned buffer;
-		for (buffer = 0; buffer < nbuffers; buffer++)
-		{
-			starpu_data_handle_t handle = task->handles[buffer];
-			size += _starpu_data_get_size(handle);
-		}
-		return size;
-	}
-}
-
 /* we need to identify each task to generate the DAG. */
 static unsigned job_cnt = 0;
 

+ 22 - 0
src/core/perfmodel/perfmodel_history.c

@@ -53,6 +53,28 @@ struct starpu_perfmodel_history_table
 static pthread_rwlock_t registered_models_rwlock;
 static struct _starpu_perfmodel_list *registered_models = NULL;
 
+size_t _starpu_job_get_data_size(struct starpu_perfmodel *model, enum starpu_perf_archtype arch, unsigned nimpl, struct _starpu_job *j)
+{
+	struct starpu_task *task = j->task;
+
+	if (model && model->per_arch[arch][nimpl].size_base) {
+		return model->per_arch[arch][nimpl].size_base(task, arch, nimpl);
+	} else if (model && model->size_base) {
+		return model->size_base(task, nimpl);
+	} else {
+		unsigned nbuffers = task->cl->nbuffers;
+		size_t size = 0;
+
+		unsigned buffer;
+		for (buffer = 0; buffer < nbuffers; buffer++)
+		{
+			starpu_data_handle_t handle = task->handles[buffer];
+			size += _starpu_data_get_size(handle);
+		}
+		return size;
+	}
+}
+
 /*
  * History based model
  */