Kaynağa Gözat

Exclude some tasks from simgrid simulation, e.g. cublas initialization

Samuel Thibault 13 yıl önce
ebeveyn
işleme
4cdfcfb49e
1 değiştirilmiş dosya ile 8 ekleme ve 3 silme
  1. 8 3
      src/core/simgrid.c

+ 8 - 3
src/core/simgrid.c

@@ -188,11 +188,16 @@ void _starpu_simgrid_execute_job(struct _starpu_job *j, enum starpu_perf_archtyp
 	struct starpu_task *task = j->task;
 	msg_task_t simgrid_task;
 
+	if (j->exclude_from_dag)
+		/* This is not useful to include in simulation (and probably
+		 * doesn't have a perfmodel anyway) */
+		return;
+
 	if (isnan(length))
 	{
-		length = starpu_task_expected_length(task, perf_arch, j->nimpl);
-
-		STARPU_ASSERT_MSG(!_STARPU_IS_ZERO(length) && !isnan(length), "Codelets must have a calibrated perfmodel");
+		STARPU_ASSERT_MSG(!_STARPU_IS_ZERO(length) && !isnan(length),
+			"Codelet %s does not have a perfmodel, or is not calibrated enough",
+			_starpu_job_get_model_name(j));
 	}
 
 	simgrid_task = MSG_task_create(_starpu_job_get_model_name(j),