|
@@ -142,6 +142,7 @@ $ pkg-config --libs libstarpu # options for the linker
|
|
|
* Initialization and Termination:: Initialization and Termination methods
|
|
|
* Data Library:: Methods to manipulate data
|
|
|
* Codelets and Tasks:: Methods to construct tasks
|
|
|
+* Tags:: Task dependencies
|
|
|
@end menu
|
|
|
|
|
|
@node Initialization and Termination
|
|
@@ -149,6 +150,7 @@ $ pkg-config --libs libstarpu # options for the linker
|
|
|
|
|
|
@menu
|
|
|
* starpu_init:: Initialize StarPU
|
|
|
+* struct starpu_conf:: StarPU runtime configuration
|
|
|
* starpu_shutdown:: Terminate StarPU
|
|
|
@end menu
|
|
|
|
|
@@ -167,6 +169,17 @@ configuration is used if the passed argument is @code{NULL}.
|
|
|
|
|
|
@end table
|
|
|
|
|
|
+@node struct starpu_conf
|
|
|
+@subsection @code{struct starpu_conf} -- StarPU runtime configuration
|
|
|
+
|
|
|
+@table @asis
|
|
|
+
|
|
|
+@item @emph{Description}:
|
|
|
+TODO
|
|
|
+
|
|
|
+@end table
|
|
|
+
|
|
|
+
|
|
|
|
|
|
@node starpu_shutdown
|
|
|
@subsection @code{starpu_shutdown} -- Terminate StarPU
|
|
@@ -186,18 +199,105 @@ garanteed to be available until this method has been called.
|
|
|
@node Data Library
|
|
|
@section Data Library
|
|
|
|
|
|
+@c data_handle_t
|
|
|
+
|
|
|
+@c void starpu_delete_data(struct starpu_data_state_t *state);
|
|
|
+
|
|
|
+@c user interaction with the DSM
|
|
|
+@c void starpu_sync_data_with_mem(struct starpu_data_state_t *state);
|
|
|
+@c void starpu_notify_data_modification(struct starpu_data_state_t *state, uint32_t modifying_node);
|
|
|
+
|
|
|
@node Codelets and Tasks
|
|
|
@section Codelets and Tasks
|
|
|
|
|
|
-@c TODO
|
|
|
+@menu
|
|
|
+* starpu_task_create:: Allocate and Initialize a Task
|
|
|
+@end menu
|
|
|
+
|
|
|
+
|
|
|
+@c struct starpu_task
|
|
|
+@c struct starpu_codelet
|
|
|
+
|
|
|
@node starpu_task_create
|
|
|
+@subsection @code{starpu_task_create} -- Allocate and Initialize a Task
|
|
|
|
|
|
@c Callbacks : what can we put in callbacks ?
|
|
|
|
|
|
+@node Tags
|
|
|
+@section Tags
|
|
|
+
|
|
|
+@menu
|
|
|
+* starpu_tag_t:: Task identifier
|
|
|
+* starpu_tag_declare_deps:: Declare the Dependencies of a Tag
|
|
|
+* starpu_tag_declare_deps_array:: Declare the Dependencies of a Tag
|
|
|
+* starpu_tag_wait:: Block until a Tag is terminated
|
|
|
+* starpu_tag_wait_array:: Block until a set of Tags is terminated
|
|
|
+* starpu_tag_remove:: Destroy a Tag
|
|
|
+@end menu
|
|
|
+
|
|
|
+
|
|
|
+@node starpu_tag_t
|
|
|
+@subsection @code{starpu_tag_t} -- Task identifier
|
|
|
+@c mention the tag_id field of the task structure
|
|
|
+TODO
|
|
|
+
|
|
|
+@node starpu_tag_declare_deps
|
|
|
+@subsection @code{starpu_tag_declare_deps} -- Declare the Dependencies of a Tag
|
|
|
+@table @asis
|
|
|
+@item @emph{Description}:
|
|
|
+TODO
|
|
|
+@item @emph{Prototype}:
|
|
|
+@code{void starpu_tag_declare_deps(starpu_tag_t id, unsigned ndeps, ...);}
|
|
|
+@end table
|
|
|
+
|
|
|
+@node starpu_tag_declare_deps_array
|
|
|
+@subsection @code{starpu_tag_declare_deps_array} -- Declare the Dependencies of a Tag
|
|
|
+@table @asis
|
|
|
+@item @emph{Description}:
|
|
|
+TODO
|
|
|
+@item @emph{Prototype}:
|
|
|
+@code{void starpu_tag_declare_deps_array(starpu_tag_t id, unsigned ndeps, starpu_tag_t *array);}
|
|
|
+@end table
|
|
|
+
|
|
|
+
|
|
|
+@node starpu_tag_wait
|
|
|
+@subsection @code{starpu_tag_wait} -- Block until a Tag is terminated
|
|
|
+@table @asis
|
|
|
+@item @emph{Description}:
|
|
|
+TODO
|
|
|
+@item @emph{Prototype}:
|
|
|
+@code{void starpu_tag_wait(starpu_tag_t id);}
|
|
|
+@end table
|
|
|
+
|
|
|
+@node starpu_tag_wait_array
|
|
|
+@subsection @code{starpu_tag_wait_array} -- Block until a set of Tags is terminated
|
|
|
+@table @asis
|
|
|
+@item @emph{Description}:
|
|
|
+TODO
|
|
|
+@item @emph{Prototype}:
|
|
|
+@code{void starpu_tag_wait_array(unsigned ntags, starpu_tag_t *id);}
|
|
|
+@end table
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+@node starpu_tag_remove
|
|
|
+@subsection @code{starpu_tag_remove} -- Destroy a Tag
|
|
|
+@table @asis
|
|
|
+@item @emph{Description}:
|
|
|
+TODO
|
|
|
+@item @emph{Prototype}:
|
|
|
+@code{void starpu_tag_remove(starpu_tag_t id);}
|
|
|
+@end table
|
|
|
+
|
|
|
+
|
|
|
@section Extensions
|
|
|
|
|
|
@subsection CUDA extensions
|
|
|
|
|
|
+@c void starpu_malloc_pinned_if_possible(float **A, size_t dim);
|
|
|
+
|
|
|
+@c subsubsection driver API specific calls
|
|
|
+
|
|
|
@subsection Cell extensions
|
|
|
|
|
|
@c ---------------------------------------------------------------------
|
|
@@ -361,4 +461,17 @@ synchronous: the @code{starpu_submit_task} function will not return until the
|
|
|
task was executed. Note that the @code{starpu_shutdown} method does not
|
|
|
guaranty that asynchronous tasks have been executed before it returns.
|
|
|
|
|
|
+@section Scaling a Vector
|
|
|
+
|
|
|
+In this example, we show how data can be manipulated within StarPU tasks.
|
|
|
+
|
|
|
+TODO
|
|
|
+
|
|
|
+@section Vector Scaling on an Hybrid CPU/GPU Machine
|
|
|
+
|
|
|
+Contrary to the previous examples, the task submitted in the example may not
|
|
|
+only be executed by the CPUs, but also by a CUDA device.
|
|
|
+
|
|
|
+TODO
|
|
|
+
|
|
|
@bye
|