xpra icon
Bug tracker and wiki

http://xpra.org/icons/opencl.png CSC

OpenCL

This CSC module takes advantage OpenCL backends to parallelize the conversion process and speed things up. Backends are available for many types of GPUs and CPUs.

The performance of the OpenCL backends vary widely, generally speaking GPUs have the edge over CPUs despite the added cost of having to transfer the data to and from the GPU. More importantly, whilst the GPU is busy doing CSC, the CPU is free for other tasks, which reduces overall system load and latency.

csc_opencl Installation

As of v0.11, the OpenCL module is installed by default, but to actually use this module you must ensure that OpenCL and providers are installed on your system, which is beyond the scope of this project.

At runtime, the server should detect the availability of OpenCL and print the platforms and devices it chose:

PyOpenCL loaded, header version: 1.2, GL support: False
 using platform: NVIDIA CUDA (NVIDIA Corporation)
 using device: GPU: GeForce GTX 760 (OpenCL 1.1 CUDA / OpenCL C 1.1 )

Module Options

  • select which device type is used as backend using:
    XPRA_OPENCL_DEVICE_TYPE=devicetype xpra start ...
    

Where devicetype is either GPU or CPU.

  • choose the OpenCL implementation to use when more than one are installed:
    XPRA_OPENCL_PLATFORM="Intel" xpra ...
    
  • select a specific OpenCL device when more than one is available:
    XPRA_OPENCL_DEVICE_NAME="GeForce GTX 760" xpra ...
    

To get more information use:

xpra -d opencl start ...

(versions older than v0.12 required the use of the XPRA_OPENCL_DEBUG=1 environment variable)

Last modified 2 years ago Last modified on 04/08/15 18:14:52