瀏覽代碼

Documentation; starpu_driver_init, starpu_driver_run_once, starpu_driver_deinit.

Cyril Roelandt 13 年之前
父節點
當前提交
5b0890c7df
共有 1 個文件被更改,包括 51 次插入0 次删除
  1. 51 0
      doc/chapters/advanced-api.texi

+ 51 - 0
doc/chapters/advanced-api.texi

@@ -13,6 +13,7 @@
 * Task Lists::                  
 * Using Parallel Tasks::        
 * Defining a new scheduling policy::  
+* Running drivers::
 * Expert mode::                 
 @end menu
 
@@ -683,6 +684,56 @@ static struct starpu_sched_policy dummy_sched_policy = @{
 @end smallexample
 @end cartouche
 
+@node Running drivers
+@section Running drivers
+
+@menu
+* Driver API::
+* Example::
+@end menu
+
+@node Driver API
+@subsection Driver API
+
+@deftypefun int starpu_driver_init(struct starpu_driver *@var{d})
+Initialize the given driver. Returns 0 on success, -EINVAL if d->type is not
+STARPU_CUDA_WORKER.
+@end deftypefun
+
+@deftypefun int starpu_driver_run_once(struct starpu_driver *@var{d})
+Runs the driver for a while, then returns 0 on success, -EINVAL if d->type is
+not STARPU_CUDA_WORKER.
+@end deftypefun
+
+@deftypefun int starpu_driver_deinit(struct starpu_driver *@var{d})
+Deinitialize the given driver. Returns 0 on success, -EINVAL if d->type is not
+STARPU_CUDA_WORKER.
+@end deftypefun
+
+@node Example
+@subsection Example
+
+@cartouche
+@smallexample
+int ret;
+struct starpu_driver = @{
+    .type = STARPU_CUDA_WORKER,
+    .id.cuda_id = 0
+@};
+ret = starpu_driver_init(&d);
+if (ret != 0)
+    error();
+while (some_condition) @{
+    ret = starpu_driver_run_once(&d);
+    if (ret != 0)
+        error();
+@}
+ret = starpu_driver_deinit(&d);
+if (ret != 0)
+    error();
+@end smallexample
+@end cartouche
+
 @node Expert mode
 @section Expert mode