瀏覽代碼

Doc. Codelets and tasks : adding descriptions for the the cpu_funcs, cuda_funcs and opencl_funcs fields.

Cyril Roelandt 13 年之前
父節點
當前提交
ba619be902
共有 1 個文件被更改,包括 26 次插入3 次删除
  1. 26 3
      doc/starpu.texi

+ 26 - 3
doc/starpu.texi

@@ -4116,21 +4116,44 @@ argument being the array of data managed by the data management library, and
 the second argument is a pointer to the argument passed from the @code{cl_arg}
 field of the @code{starpu_task} structure.
 The @code{cpu_func} field is ignored if @code{STARPU_CPU} does not appear in
-the @code{where} field, it must be non-null otherwise.
+the @code{where} field, it must be non-null otherwise. When multiple CPU
+implementations are used, this field must be set to
+@code{STARPU_MULTIPLE_CPU_IMPLEMENTATIONS}.
+
+@item @code{cpu_funcs} (optional)
+Is an array of function pointers to the CPU implementations of the codelet. This
+field is ignored if the @code{cpu_func} field is set to anything else than
+@code{STARPU_MULTIPLE_CPU_IMPLEMENTATIONS}. Otherwise, it should contain at
+least one function pointer, and at most @code{STARPU_MAXIMPLEMENTATIONS}.
 
 @item @code{cuda_func} (optional)
 Is a function pointer to the CUDA implementation of the codelet. @emph{This
 must be a host-function written in the CUDA runtime API}. Its prototype must
 be: @code{void cuda_func(void *buffers[], void *cl_arg);}. The @code{cuda_func}
 field is ignored if @code{STARPU_CUDA} does not appear in the @code{where}
-field, it must be non-null otherwise.
+field, it must be non-null otherwise. When multiple CUDA implementations are
+used, this field must be set to @code{STARPU_MULTIPLE_CUDA_IMPLEMENTATIONS}.
+
+@item @code{cuda_funcs} (optional)
+Is an array of function pointers to the CUDA implementations of the codelet.
+This field is ignored if the @code{cuda_func} field is set to anything else than
+@code{STARPU_MULTIPLE_CUDA_IMPLEMENTATIONS}. Otherwise, it should contain at
+least one function pointer, and at most @code{STARPU_MAXIMPLEMENTATIONS}.
 
 @item @code{opencl_func} (optional)
 Is a function pointer to the OpenCL implementation of the codelet. Its
 prototype must be:
 @code{void opencl_func(starpu_data_interface_t *descr, void *arg);}.
 This pointer is ignored if @code{STARPU_OPENCL} does not appear in the
-@code{where} field, it must be non-null otherwise.
+@code{where} field, it must be non-null otherwise. When multiple OpenCL
+implementations are used, this field must be set to
+@code{STARPU_MULTIPLE_OPENCL_IMPLEMENTATIONS}.
+
+@item @code{opencl_funcs} (optional)
+Is an array of function pointers to the OpenCL implementations of the codelet.
+This field is ignored if the @code{opencl_func} field is set to anything else
+than @code{STARPU_MULTIPLE_OPENCL_IMPLEMENTATIONS}. Otherwise, it should contain
+at least one function pointer, and at most @code{STARPU_MAXIMPLEMENTATIONS}.
 
 @item @code{gordon_func} (optional)
 This is the index of the Cell SPU implementation within the Gordon library.