Supported Platforms

This guide was created for versions: v0.1.0 - v0.3.0

This document shows the current support matrix for ComputeCpp Community Edition (Beta) 0.1.2. The table below indicates the different operating systems and devices supported.

  • A Yes in the Supported column means Codeplay has tested this internally and actively supports the platform combination.
  • A No in the Supported column means Codeplay has tested that combination and we know the reasons for it not working with ComputeCpp.
  • A Not tested in the Supported column means Codeplay has reports of users having support but we cannot reproduce it.
  • A With limitations in the Supported column means that there are some limitations due to platform or driver issues.

Other combinations may work, but Codeplay does not actively support them. We are glad to receive feedback on other platforms that may work. Please, read carefully the different notes organised per platform for details on setting up ComputeCpp.

Table 1. Support Matrix
Operating System OpenCL Platform Device Supported CL_DRIVER_VERSION Notes
Ubuntu 14.04 64Bit
Ubuntu 16.04 64Bit
CentOS 64Bit

[GCC-1] GCC 5.1

Note that the ComputeCpp package has been built using GCC 4.9. GCC has changed the ABI from versions GCC 5.1 and above. In order to use ComputeCpp, the old ABI must be used. See Using Dual ABI in the GCC documentation.

[INTEL-1] Intel OpenCL platform driver for CPU devices

The supported driver version is 16.1, and can be found in OpenCL™ Runtime for Intel® Core™ and Intel® Xeon® Processors.

[INTEL-2] Intel OpenCL platform driver for GPU devices

The supported driver can be found in OpenCL™ 2.0 Driver for Intel® HD, Iris™, and Iris™ Pro Graphics for Linux* (64-bit). Direct link: https://software.intel.com/file/489950/download. Please make sure to read the Relase Notes of the driver and the documentation regarding the installation to ensure the combination.

[INTEL-3] Intel OpenCL driver for Gen9 (Skylake) GPU Kernel

The only supported Operating System for Intel OpenCL Platform for Skylake is CentOS 7.2 with the kernel 4.4 series patched according to the Intel OpenCL Platform Driver documentation. The documentation can be found in the Intel OpenCL Platform driver package.

[INTEL-4] Intel OpenCL Platform GPU Driver Issue

Due to an issue in the Intel OpenCL driver (see Intel OpenCL forums), we cannot support direct capture of structs on the kernel lambda. The example below shows a structure being captured by value in the kernel lambda, which will cause a kernel build error on Intel GPU


/* The Struct below, although valid standard layout,
 * cannot be passed directly to the kernel via the lambda capture,
 * as shown with dataA.
 * It has to be passed as a kernel argument via a buffer and an
 * accessor on Intel GPU OpenCL platforms.
 */
struct str {
 str(short a, char b, char c)
 : a(a),
 b(b),
 c(c)
 {}
 short a;
 char b;
 char c;
};
int main() {
 str dataA(20, 'h', 't');
 str dataB(0, 0, 0);
 queue myQueue;
 buffer bufB(&dataB, range<1>(1));
 myQueue.submit([&](handler &cgh) {
 auto myRange = nd_range<2>(range<2>(6, 2), range<2>(2, 1));
 accessor ptrB(
 bufB, cgh);
 cgh.parallel_for(
 myRange, ([=](nd_item<2> itemID) { ptrB[0] = dataA; }));
 });
 accessor hostPtrB(
 bufB);
 return 0;
}

[AMD-1] AMD OpenCL Platform driver for GPU devices

The latest AMD OpenCL Platform driver for GPU with SPIR support can be downloaded from AMD website.

[AMD-2] AMD OpenCL Platform SPIR support

The only driver that supports SPIR consumption for AMD GPUs is the fglrx driver (Crimson Edition 15.12). The fglrx driver only works for older Linux kernels (3.19 or lower).

[AMD-3] AMD OpenCL Platform driver on Ubuntu

For Ubuntu, please download and install all of the packages from the download page, e.g.:

  • Video Driver for Graphics Accelerators
  • Minimal Video Driver for Graphics Accelerators (Non-X Support)
  • Video Driver for Graphics Accelerators Devel Files (OGL, OCL)

[AMD-4] AMD GPU on Ubuntu 16.04

Ubuntu 16.04 does not support the fglrx drivers because the OS relies on newer kernels (version number higher than 3.19). Although the new amdgpu-pro drivers are available for Ubuntu 16.04, they do not support SPIR 1.2, and therefore cannot run ComputeCpp. If you need to use these drivers, please, contact AMD regarding the status of SPIR 1.2 support on them.