瀏覽代碼

sched_policy: new public function starpu_sched_get_predefined_policies() which returns an NULL-terminated array of all the predefined scheduling policies.

Nathalie Furmento 12 年之前
父節點
當前提交
4358c3ee2a
共有 3 個文件被更改,包括 12 次插入1 次删除
  1. 4 0
      doc/chapters/advanced-api.texi
  2. 1 0
      include/starpu_scheduler.h
  3. 7 1
      src/core/sched_policy.c

+ 4 - 0
doc/chapters/advanced-api.texi

@@ -696,6 +696,10 @@ Description of the policy.
 @end table
 @end deftp
 
+@deftypefun {struct starpu_sched_policy **} starpu_sched_get_predefined_policies ()
+Return an NULL-terminated array of all the predefined scheduling policies.
+@end deftypefun
+
 @deftypefun void starpu_sched_ctx_set_worker_mutex_and_cond (unsigned @var{sched_ctx_id}, int @var{workerid}, pthread_mutex_t *@var{sched_mutex}, {pthread_cond_t *}@var{sched_cond})
 This function specifies the condition variable associated to a worker per context
 When there is no available task for a worker, StarPU blocks this worker on a

+ 1 - 0
include/starpu_scheduler.h

@@ -118,6 +118,7 @@ struct starpu_sched_policy
 	const char *policy_description;
 };
 
+struct starpu_sched_policy **starpu_sched_get_predefined_policies();
 
 /* Check if the worker specified by workerid can execute the codelet. */
 int starpu_worker_can_execute_task(unsigned workerid, struct starpu_task *task, unsigned nimpl);

+ 7 - 1
src/core/sched_policy.c

@@ -44,9 +44,15 @@ static struct starpu_sched_policy *predefined_policies[] =
 	&_starpu_sched_dmda_ready_policy,
 	&_starpu_sched_dmda_sorted_policy,
 	&_starpu_sched_parallel_heft_policy,
-	&_starpu_sched_peager_policy
+	&_starpu_sched_peager_policy,
+	NULL
 };
 
+struct starpu_sched_policy **starpu_sched_get_predefined_policies()
+{
+	return predefined_policies;
+}
+
 struct starpu_sched_policy *_starpu_get_sched_policy(struct _starpu_sched_ctx *sched_ctx)
 {
 	return sched_ctx->sched_policy;