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.
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 )
- select which device type is used as backend using:
XPRA_OPENCL_DEVICE_TYPE=devicetype xpra start ...
devicetype is either
- choose the
OpenCLimplementation to use when more than one are installed:
XPRA_OPENCL_PLATFORM="Intel" xpra ...
- select a specific
OpenCLdevice 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)