Hardware Support Tool

Hardware Support Tool


The computecpp_info tool displays information about the OpenCL platforms that are available, and which can be used with ComputeCpp.

computecpp_info [OPTION]


-h --help Lists the commands available

-v --verbose Verbose output showing additional information such as OpenCL extensions

-t --target Specifies the filter for searching devices in the form [platform]:[device_type]. The option --target requires an argument in the format [option]=[argument], e.g. --target platform=intel.

--dump-device-compiler-flags Outputs the flags required by the device compiler

--dump-is-supported Checks whether the current platform is supported.

--dump-version Prints the ComputeCpp version number as Major.Minor Target Options

--compiler-target Enables compiler-target support

Target Options

The option --target requires an argument in the format [option\]=\[argument\], e.g. ``--target platform=intel```.

The following table summarizes the platform and device_type targets:

Argument Target Description
platform amd AMD(R) platform
platform intel Intel(R) platform
platform *, any or All platforms
:device_type gpu GPU devices
:device_type cpu CPU devices
:device_type accel Accelerator devices
:device_type *, any or All devices
:device_type Default device

Here are some example ComputeCpp targets:

Target Selected
intel Default device on Intel(R) platform
intel:* All devices on Intel platform
:cpu All CPU devices on any platform
amd:gpu All GPU devices on AMD(R) platform

More examples of invocation:

computecpp_info --target=intel
computecpp_info --target=amd:cpu
computecpp_info --target=:cpu

Supported Devices

computecpp_info reports whether the system where it is running is supported by the ComputeCpp Package. This tool checks for availability of:

  • Supported system libraries (i.e, libstdC{pp})
  • Supported operating system
  • Supported OpenCL Platform Driver
  • SPIR support
  • In the case of CPU devices, relevant vectorization hardware support (e.g, SSE4.1 on Intel CPU devices)

The support status is shown before device attributes are listed and can be either YES, UNTESTED or NO with an additional explanation. YES means the device running that driver on that OS has been tested by Codeplay Software Ltd. UNTESTED indicates the device has not been tested - it is still possible the device will work with ComputeCpp, but ComputeCpp support may not be able to provide detailed answers to problems. NO indicates that the device does not support SPIR, which means that ComputeCpp will not be able to run on this device. Please refer to the ComputeCpp Platform Support Notes for details on potential issues with certain device drivers.

Note that computecpp_info does not check for SPIR-V or PTX support on drivers, as this is currently an experimental feature. This means that some drivers that support SPIR-V or PTX may appear as unsupported or untested.


Retrieving basic information

computecpp_info provides dump flags which produce basic information using minimal output, intended to be used as output for user scripts or build tools.

--dump-version* returns the version of ComputeCpp.

The --dump-device-compiler-flags outputs the flags used by the device compiler to build SYCL code:

computecpp_info --dump-device-compiler-flags -O2 -mllvm -inline-threshold=1000 -emit-llvm

The option --dump-is-supported will return YES, UNTESTED or NO indicating if the platform is supported. The platform is supported if at least one device (using a specific driver) has been tested by Codeplay Software Ltd. NO will only be returned if none of the devices in the system support SPIR.

computecpp_info --dump-is-supported

    Select a Product

    Please select a product

    ComputeCpp enables developers to integrate parallel computing into applications using SYCL and accelerate code on a wide range of OpenCL devices such as GPUs.

    ComputeSuite for R-Car enables developers to accelerate their applications on Renesas R-Car based hardware such as the V3M and V3H, using the widely supported open standards SYCL and OpenCL.


    part of our network