浏览代码

doc/doxygen/chapters/api: update documentation towards source code

Nathalie Furmento 10 年之前
父节点
当前提交
3a43cc3be1
共有 2 个文件被更改,包括 19 次插入46 次删除
  1. 18 45
      doc/doxygen/chapters/api/modularized_scheduler.doxy
  2. 1 1
      doc/doxygen/chapters/api/performance_model.doxy

+ 18 - 45
doc/doxygen/chapters/api/modularized_scheduler.doxy

@@ -52,10 +52,10 @@ flags for starpu_sched_component::properties
 \var STARPU_SCHED_component_SINGLE_MEMORY_component
      indicate that all workers have the same memory component
 
-\def STARPU_SCHED_component_IS_HOMOGENEOUS
+\def STARPU_SCHED_COMPONENT_IS_HOMOGENEOUS
 \ingroup API_Modularized_Scheduler
      indicate if component is homogeneous
-\def STARPU_SCHED_component_IS_SINGLE_MEMORY_component
+\def STARPU_SCHED_COMPONENT_IS_SINGLE_MEMORY_NODE
 \ingroup API_Modularized_Scheduler
      indicate if all workers have the same memory component
 
@@ -89,26 +89,22 @@ The actual scheduler
 	 free data allocated by starpu_sched_component_create and call component->deinit_data(component)
 	 set to null the member starpu_sched_component::fathers[sched_ctx_id] of all child if its equal to \p component
 
-\fn void starpu_sched_component_set_father(struct starpu_sched_component *component, struct starpu_sched_component *father_component, unsigned sched_ctx_id)
-\ingroup API_Modularized_Scheduler
-	 set component->fathers[sched_ctx_id] to father_component
-
 \fn int starpu_sched_component_can_execute_task(struct starpu_sched_component *component, struct starpu_task *task)
 \ingroup API_Modularized_Scheduler
 	 return true iff \p component can execute \p task, this function take into account the workers available in the scheduling context
 
-\fn int starpu_sched_component_execute_preds(struct starpu_sched_component *component, struct starpu_task *task, double *length);
+\fn int starpu_sched_component_execute_preds(struct starpu_sched_component *component, struct starpu_task *task, double *length)
 \ingroup API_Modularized_Scheduler
 	 return a non null value if \p component can execute \p task.
 	 write the execution prediction length for the best implementation of the best worker available and write this at \p length address.
 	 this result is more relevant if starpu_sched_component::is_homogeneous is non null.
 	 if a worker need to be calibrated for an implementation, nan is set to \p length.
 
-\fn double starpu_sched_component_transfer_length(struct starpu_sched_component *component, struct starpu_task *task);
+\fn double starpu_sched_component_transfer_length(struct starpu_sched_component *component, struct starpu_task *task)
 \ingroup API_Modularized_Scheduler
 	 return the average time to transfer \p task data to underlying \p component workers.
 
-\fn struct starpu_sched_component *starpu_sched_component_worker_get(int workerid)
+\fn struct starpu_sched_component *starpu_sched_component_worker_get(unsigned sched_ctx, int workerid)
 \ingroup API_Modularized_Scheduler
 	 return the struct starpu_sched_component corresponding to \p workerid. Undefined if \p workerid is not a valid workerid
 
@@ -127,7 +123,7 @@ The actual scheduler
 	 return the workerid of \p worker_component, undefined if starpu_sched_component_is_worker(worker_component) == 0
 
 
-\fn struct starpu_sched_component *starpu_sched_component_fifo_create(void *arg)
+\fn struct starpu_sched_component *starpu_sched_component_fifo_create(struct starpu_sched_tree *tree, struct starpu_fifo_data *fifo_data)
 \ingroup API_Modularized_Scheduler
 	 Return a struct starpu_sched_component with a fifo. A stable sort is performed according to tasks priorities.
 	 A push_task call on this component does not perform recursive calls, underlying components will have to call pop_task to get it.
@@ -154,7 +150,7 @@ The actual scheduler
 \ingroup API_Modularized_Scheduler
 	 create a component that perform a random scheduling
 
-\fn int starpu_sched_component_is_random(struct starpu_sched_component *);
+\fn int starpu_sched_component_is_random(struct starpu_sched_component *)
 \ingroup API_Modularized_Scheduler
 	 return true iff \p component is a random component
 
@@ -166,27 +162,6 @@ The actual scheduler
 \ingroup API_Modularized_Scheduler
 	 return true iff \p component is a heft component
 
-\struct starpu_heft_data
-\ingroup API_Modularized_Scheduler
-starpu_sched_component_heft_create parameters
-\var starpu_heft_data::alpha
-	 coefficient applied to computation length
-\var starpu_heft_data::beta
-	 coefficient applied to communication length
-\var starpu_heft_data::gamma
-	 coefficient applied to power consumption
-\var starpu_heft_data::idle_power
-	 idle consumption of the machine
-\var starpu_heft_data::no_perf_model_component_create
-	 called to create the component to push task for whom no perf model is available
-\var starpu_heft_data::arg_no_perf_model
-	 argument passed to starpu_heft_data::no_perf_model_component_create
-\var starpu_heft_data::calibrating_component_create
-	 idem for tasks with an non calibrated implementation
-\var starpu_heft_data::arg_calibrating_component
-	 argument passed to starpu_heft_data::calibrating_component_create
-
-
 \fn struct starpu_sched_component *starpu_sched_component_best_implementation_create(struct starpu_sched_tree *tree, void *arg)
 \ingroup API_Modularized_Scheduler
 	 Select the implementation that offer the shortest computation length for the first worker that can execute the task.
@@ -194,15 +169,13 @@ starpu_sched_component_heft_create parameters
 	 Also set starpu_task::predicted and starpu_task::predicted_transfer for memory component of the first suitable workerid.
 	 If starpu_sched_component::push method is called and starpu_sched_component::nchild > 1 the result is undefined.
 
-
-
-\fn struct starpu_sched_tree *starpu_sched_tree_create(void)
+\fn struct starpu_sched_tree *starpu_sched_tree_create(unsigned sched_ctx_id)
 \ingroup API_Modularized_Scheduler
 	 create a empty initialized starpu_sched_tree
 \fn void starpu_sched_tree_destroy(struct starpu_sched_tree *tree)
 \ingroup API_Modularized_Scheduler
 	 destroy tree and free all non shared component in it.
-\fn void starpu_sched_component_destroy_rec (struct starpu_sched_component *component, unsigned sched_ctx_id)
+\fn void starpu_sched_component_destroy_rec(struct starpu_sched_component *component)
 \ingroup API_Modularized_Scheduler
 	 recursively destroy non shared parts of a \p component 's tree
 
@@ -210,7 +183,7 @@ starpu_sched_component_heft_create parameters
 \fn int starpu_sched_tree_push_task(struct starpu_task *task)
 \ingroup API_Modularized_Scheduler
 	 compatibility with starpu_sched_policy interface
-\fn struct starpu_task *starpu_sched_tree_pop_task(unsigned sched_ctx_id)
+\fn struct starpu_task *starpu_sched_tree_pop_task()
 \ingroup API_Modularized_Scheduler
 	 compatibility with starpu_sched_policy interface
 \fn void starpu_sched_tree_add_workers(unsigned sched_ctx_id, int *workerids, unsigned nworkers)
@@ -236,7 +209,7 @@ starpu_sched_component_heft_create parameters
 \ingroup API_Modularized_Scheduler
 	 recursively set all starpu_sched_component::workers_in_ctx, do not take into account shared parts (except workers)
 
-\struct starpu_bitmap;
+\struct starpu_bitmap
 \ingroup API_Modularized_Scheduler
 	 implement a simple bitmap
 \fn struct starpu_bitmap *starpu_bitmap_create(void)
@@ -257,11 +230,11 @@ starpu_sched_component_heft_create parameters
 \ingroup API_Modularized_Scheduler
 	 unset all bits in \b b
 
-\fn int starpu_bitmap_get(struct starpu_bitmap *b, int e);
+\fn int starpu_bitmap_get(struct starpu_bitmap *b, int e)
 \ingroup API_Modularized_Scheduler
 	 return true iff bit \p e is set in \p b
 
-\fn int starpu_bitmap_cardinal(struct starpu_bitmap *b);
+\fn int starpu_bitmap_cardinal(struct starpu_bitmap *b)
 \ingroup API_Modularized_Scheduler
 	 return the number of set bits in \p b
 
@@ -278,7 +251,7 @@ starpu_sched_component_heft_create parameters
 	 return the position of set bit right after \p e in \p b, -1 if none
 
 
-\struct starpu_sched_component_composed_recipe;
+\struct starpu_sched_component_composed_recipe
 \ingroup API_Modularized_Scheduler
 	parameters for starpu_sched_component_composed_component_create
 
@@ -287,11 +260,11 @@ starpu_sched_component_heft_create parameters
 	 return an empty recipe for a composed component, it should not be used without modification
 
 
-\fn struct starpu_sched_component_composed_recipe *starpu_sched_component_create_recipe_singleton(struct starpu_sched_component *(*create_component)(void *arg), void *arg)
+\fn struct starpu_sched_component_composed_recipe *starpu_sched_component_create_recipe_singleton(struct starpu_sched_component *(*create_component)(struct starpu_sched_tree *tree, void *arg), void *arg)
 \ingroup API_Modularized_Scheduler
 	 return a recipe to build a composed component with a \p create_component
 
-\fn void starpu_sched_recipe_add_component(struct starpu_sched_component_composed_recipe *recipe, struct starpu_sched_component *(*create_component)(void *arg), void *arg)
+\fn void starpu_sched_recipe_add_component(struct starpu_sched_component_composed_recipe *recipe, struct starpu_sched_component *(*create_component)(struct starpu_sched_tree *tree, void *arg), void *arg)
 \ingroup API_Modularized_Scheduler
 	 add \p create_component under all previous components in recipe
 
@@ -299,7 +272,7 @@ starpu_sched_component_heft_create parameters
 \ingroup API_Modularized_Scheduler
 	 destroy composed_sched_component, this should be done after starpu_sched_component_composed_component_create was called
 
-\fn struct starpu_sched_component *starpu_sched_component_composed_component_create(struct starpu_sched_component_composed_recipe *recipe)
+\fn struct starpu_sched_component *starpu_sched_component_composed_component_create(struct starpu_sched_tree *tree, struct starpu_sched_component_composed_recipe *recipe)
 \ingroup API_Modularized_Scheduler
 	 create a component that behave as all component of recipe where linked. Except that you cant use starpu_sched_component_is_foo function
 	 if recipe contain a single create_foo arg_foo pair, create_foo(arg_foo) is returned instead of a composed component
@@ -328,7 +301,7 @@ starpu_sched_component_heft_create parameters
      If this flag is not set, a new fifo will be built for each of them (if they have the same starpu_perf_arch and the same
      numa component it will be shared
 
-\fn struct starpu_sched_tree *starpu_sched_component_make_scheduler(unsigned sched_ctx_id, struct starpu_sched_specs s);
+\fn struct starpu_sched_tree *starpu_sched_component_make_scheduler(unsigned sched_ctx_id, struct starpu_sched_specs s)
 \ingroup API_Modularized_Scheduler
 	 this function build a scheduler for \p sched_ctx_id according to \p s and the hwloc topology of the machine.
 */

+ 1 - 1
doc/doxygen/chapters/api/performance_model.doxy

@@ -235,7 +235,7 @@ todo
 \ingroup API_Performance_Model
 returns the architecture name for \p arch
 
-\fn struct starpu_perfmodel_arch *starpu_worker_get_perf_archtype(int workerid)
+\fn struct starpu_perfmodel_arch *starpu_worker_get_perf_archtype(int workerid, unsigned sched_ctx_id)
 \ingroup API_Performance_Model
 returns the architecture type of a given worker.