|
@@ -38,6 +38,7 @@ development and subject to change.
|
|
|
|
|
|
@menu
|
|
|
* Defining Tasks:: Defining StarPU tasks
|
|
|
+* Synchronization and Other Pragmas:: Synchronization, and more.
|
|
|
* Registered Data Buffers:: Manipulating data buffers
|
|
|
* Conditional Extensions:: Using C extensions only when available
|
|
|
@end menu
|
|
@@ -202,6 +203,31 @@ StarPU-GCC code. For a complete example, see the
|
|
|
example}.
|
|
|
|
|
|
|
|
|
+@node Synchronization and Other Pragmas
|
|
|
+@section Initialization, Termination, and Synchronization
|
|
|
+
|
|
|
+The following pragmas allow user code to control StarPU's life time and
|
|
|
+to synchronize with tasks.
|
|
|
+
|
|
|
+@table @code
|
|
|
+
|
|
|
+@item #pragma starpu initialize
|
|
|
+Initialize StarPU. This call is compulsory and is @emph{never} added
|
|
|
+implicitly. One of the reasons this has to be done explicitly is that
|
|
|
+it provides greater control to user code over its resource usage.
|
|
|
+
|
|
|
+@item #pragma starpu shutdown
|
|
|
+Shut down StarPU, giving it an opportunity to write profiling info to a
|
|
|
+file on disk, for instance (@pxref{Off-line, off-line performance
|
|
|
+feedback}).
|
|
|
+
|
|
|
+@item #pragma starpu wait
|
|
|
+Wait for all task invocations to complete, as with
|
|
|
+@code{starpu_wait_for_all} (@pxref{Codelets and Tasks,
|
|
|
+starpu_wait_for_all}).
|
|
|
+
|
|
|
+@end table
|
|
|
+
|
|
|
@node Registered Data Buffers
|
|
|
@section Registered Data Buffers
|
|
|
|