Explorar el Código

Add starpu_task_do_schedule

Samuel Thibault hace 9 años
padre
commit
44d42be205
Se han modificado 2 ficheros con 20 adiciones y 0 borrados
  1. 2 0
      include/starpu_task.h
  2. 18 0
      src/core/task.c

+ 2 - 0
include/starpu_task.h

@@ -304,6 +304,8 @@ int starpu_task_wait_for_no_ready(void);
 int starpu_task_nready(void);
 int starpu_task_nsubmitted(void);
 
+void starpu_task_do_schedule(void);
+
 void starpu_codelet_init(struct starpu_codelet *cl);
 
 void starpu_codelet_display_stats(struct starpu_codelet *cl);

+ 18 - 0
src/core/task.c

@@ -953,6 +953,24 @@ int starpu_task_wait_for_no_ready(void)
 	return 0;
 }
 
+void starpu_task_do_schedule(void)
+{
+	struct _starpu_machine_config *config = (struct _starpu_machine_config *)_starpu_get_machine_config();
+	if(config->topology.nsched_ctxs == 1)
+		_starpu_sched_do_schedule(0);
+	else
+	{
+		int s;
+		for(s = 0; s < STARPU_NMAX_SCHED_CTXS; s++)
+		{
+			if(config->sched_ctxs[s].id != STARPU_NMAX_SCHED_CTXS)
+			{
+				_starpu_sched_do_schedule(config->sched_ctxs[s].id);
+			}
+		}
+	}
+}
+
 void
 starpu_drivers_request_termination(void)
 {