|
@@ -16,9 +16,8 @@
|
|
|
|
|
|
\section Motivation Motivation
|
|
|
|
|
|
-\internal
|
|
|
-complex machines with heterogeneous cores/devices
|
|
|
-\endinternal
|
|
|
+// This is a comment and it will be removed before the file is processed by doxygen
|
|
|
+// complex machines with heterogeneous cores/devices
|
|
|
|
|
|
The use of specialized hardware such as accelerators or coprocessors offers an
|
|
|
interesting approach to overcome the physical limits encountered by processor
|
|
@@ -35,14 +34,11 @@ efficiently mapping and executing tasks onto an heterogeneous machine while
|
|
|
transparently handling low-level issues such as data transfers in a portable
|
|
|
fashion.
|
|
|
|
|
|
-\internal
|
|
|
-this leads to a complicated distributed memory design
|
|
|
-which is not (easily) manageable by hand
|
|
|
-
|
|
|
-added value/benefits of StarPU
|
|
|
- - portability
|
|
|
- - scheduling, perf. portability
|
|
|
-\endinternal
|
|
|
+// this leads to a complicated distributed memory design
|
|
|
+// which is not (easily) manageable by hand
|
|
|
+// added value/benefits of StarPU
|
|
|
+// - portability
|
|
|
+// - scheduling, perf. portability
|
|
|
|
|
|
\section StarPUInANutshell StarPU in a Nutshell
|
|
|
|
|
@@ -73,9 +69,7 @@ policies in a portable fashion (\ref DefiningANewSchedulingPolicy).
|
|
|
|
|
|
The remainder of this section describes the main concepts used in StarPU.
|
|
|
|
|
|
-\internal
|
|
|
-explain the notion of codelet and task (i.e. g(A, B)
|
|
|
-\endinternal
|
|
|
+// explain the notion of codelet and task (i.e. g(A, B)
|
|
|
|
|
|
\subsection CodeletAndTasks Codelet and Tasks
|
|
|
|
|
@@ -83,9 +77,7 @@ One of the StarPU primary data structures is the \b codelet. A codelet describes
|
|
|
computational kernel that can possibly be implemented on multiple architectures
|
|
|
such as a CPU, a CUDA device or an OpenCL device.
|
|
|
|
|
|
-\internal
|
|
|
-TODO insert illustration f: f_spu, f_cpu, ...
|
|
|
-\endinternal
|
|
|
+// TODO insert illustration f: f_spu, f_cpu, ...
|
|
|
|
|
|
Another important data structure is the \b task. Executing a StarPU task
|
|
|
consists in applying a codelet on a data set, on one of the architectures on
|
|
@@ -108,13 +100,8 @@ submitting other tasks, or by expressing dependencies
|
|
|
between tags (which can thus correspond to tasks that have not been submitted
|
|
|
yet).
|
|
|
|
|
|
-\internal
|
|
|
-TODO insert illustration f(Ar, Brw, Cr) + ..
|
|
|
-\endinternal
|
|
|
-
|
|
|
-\internal
|
|
|
-DSM
|
|
|
-\endinternal
|
|
|
+// TODO insert illustration f(Ar, Brw, Cr) + ..
|
|
|
+// DSM
|
|
|
|
|
|
\subsection StarPUDataManagementLibrary StarPU Data Management Library
|
|
|
|
|
@@ -130,15 +117,12 @@ several processing units as long as it is not modified.
|
|
|
|
|
|
TODO
|
|
|
|
|
|
-\internal
|
|
|
-TODO: section describing what taskifying an application means: before
|
|
|
-porting to StarPU, turn the program into:
|
|
|
-"pure" functions, which only access data from their passed parameters
|
|
|
-a main function which just calls these pure functions
|
|
|
-
|
|
|
-and then it's trivial to use StarPU or any other kind of task-based library:
|
|
|
-simply replace calling the function with submitting a task.
|
|
|
-\endinternal
|
|
|
+// TODO: section describing what taskifying an application means: before
|
|
|
+// porting to StarPU, turn the program into:
|
|
|
+// "pure" functions, which only access data from their passed parameters
|
|
|
+// a main function which just calls these pure functions
|
|
|
+// and then it's trivial to use StarPU or any other kind of task-based library:
|
|
|
+// simply replace calling the function with submitting a task.
|
|
|
|
|
|
\section Glossary Glossary
|
|
|
|