|
@@ -80,12 +80,14 @@ The remainder of this section describes the main concepts used in StarPU.
|
|
|
@node Codelet and Tasks
|
|
|
@subsection Codelet and Tasks
|
|
|
|
|
|
+@cindex codelet
|
|
|
One of the StarPU primary data structures is the @b{codelet}. A codelet describes a
|
|
|
computational kernel that can possibly be implemented on multiple architectures
|
|
|
such as a CPU, a CUDA device or a Cell's SPU.
|
|
|
|
|
|
@c TODO insert illustration f: f_spu, f_cpu, ...
|
|
|
|
|
|
+@cindex task
|
|
|
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
|
|
|
which the codelet is implemented. A task thus describes the codelet that it
|
|
@@ -97,6 +99,7 @@ called once StarPU has properly executed the task. It also contains optional
|
|
|
fields that the application may use to give hints to the scheduler (such as
|
|
|
priority levels).
|
|
|
|
|
|
+@cindex tag
|
|
|
By default, task dependencies are inferred from data dependency (sequential
|
|
|
coherence) by StarPU. The application can however disable sequential coherency
|
|
|
for some data, and dependencies be expressed by hand.
|