Accéder au contenu.
Menu Sympa

starpu-devel - [Starpu-devel] reducing STARPU_OPENCL_PIPELINE to 0

Objet : Developers list for StarPU

Archives de la liste

[Starpu-devel] reducing STARPU_OPENCL_PIPELINE to 0


Chronologique Discussions 
  • From: Jeff Hand <jeffrey.hand@gmail.com>
  • To: starpu-devel@lists.gforge.inria.fr
  • Subject: [Starpu-devel] reducing STARPU_OPENCL_PIPELINE to 0
  • Date: Thu, 4 Jun 2015 11:25:21 -0500
  • List-archive: <http://lists.gforge.inria.fr/pipermail/starpu-devel/>
  • List-id: "Developers list. For discussion of new features, code changes, etc." <starpu-devel.lists.gforge.inria.fr>

Warning message
================================================================
[starpu][_starpu_opencl_driver_init] Warning: reducing STARPU_OPENCL_PIPELINE to 0 because blocking drivers are not enabled (and simgrid is not enabled)
================================================================

configured StarPU:
../configure --disable-cuda --with-hwloc --enable-blocking-drivers

================================================================
#if !defined(STARPU_SIMGRID) && !defined(STARPU_NON_BLOCKING_DRIVERS)
        if (worker->pipeline_length >= 1)
        {
                /* We need non-blocking drivers, to poll for OPENCL task
                 * termination */
                _STARPU_DISP("Warning: reducing STARPU_OPENCL_PIPELINE to 0 because blocking drivers are not enabled (and simgrid is not enabled)\n");
                worker->pipeline_length = 0;
        }
#endif
================================================================

Based of the error message:
- blocking drivers are enabled (Even though comment says "blocking drivers are not enabled".  Is the comment right?)
- Simgrid is disabled

STARPU_OPENCL_PIPELINE:
Specify how many asynchronous tasks are submitted in advance on OpenCL devices. This for instance permits to overlap task management with the execution of previous tasks, but it also allows concurrent execution on Fermi cards, which otherwise bring spurious synchronizations. The default is 2. Setting the value to 0 forces a synchronous execution of all tasks.

According to "backport r12085 from trunk: Advise the user to use --enable-blocking-drivers to avoid consuming real CPU for virtual CPU idling"  my assumption is "--enable-blocking-drivers" is preferred.

As a test, I removed the code setting the pipeline to 0.  The performance seemed to be about the same.  The StarPU tests passed and my tests passed with the modification.

Should STARPU_OPENCL_PIPELINE be set to 0?





Archives gérées par MHonArc 2.6.19+.

Haut de le page