|
@@ -226,6 +226,21 @@ starpu_resume();
|
|
|
starpu_shutdown();
|
|
|
\endcode
|
|
|
|
|
|
+\section GPUEatingCores When running with CUDA or OpenCL devices, I am seeing less CPU cores
|
|
|
+
|
|
|
+Yes, this is on purpose.
|
|
|
+
|
|
|
+Since GPU devices are way faster than CPUs, StarPU needs to react quickly when
|
|
|
+a task is finished, to feed the GPU with another task (StarPU actually submits
|
|
|
+a couple of tasks in advance so as to pipeline this, but filling the pipeline
|
|
|
+still has to be happening often enough), and thus it has to dedicate threads for
|
|
|
+this, and this is a very CPU-consuming duty. StarPU thus dedicates one CPU core
|
|
|
+for driving each GPU.
|
|
|
+
|
|
|
+Such dedication is also useful when a codelet is hybrid, i.e. while kernels are
|
|
|
+running on the GPU, the codelet can run some computation, which thus be run by
|
|
|
+the CPU core instead of driving the GPU.
|
|
|
+
|
|
|
\section CUDADrivers StarPU does not see my CUDA device
|
|
|
|
|
|
First make sure that CUDA is properly running outside StarPU: build and
|