CLINFO(1)

NAME
clinfo - show OpenCL platforms and devices

SYNOPSIS
clinfo [options ...]

DESCRIPTION
clinfo prints all available information about all OpenCL platforms available on the system and the devices they expose.

OPTIONS
clinfo accepts the following options:

--human
    produce human-friendly output; this is the default (except as noted below);

--raw
    produce machine-friendly output; this is the default if clinfo is invoked with a name that contains the string “raw”;

-h, -?
    show usage;

--version, -v
    show program version.

CONFORMING TO
OpenCL 1.1, OpenCL 1.2, OpenCL 2.0.

EXTENSIONS
Supported OpenCL extensions:

cl_khr_fp16, cl_khr_fp64, cl_amd_fp64, cl_APPLE_fp64_basic_ops
    for information about support for half-precision and double-precision floating-point data types;

cl_khr_image2d_from_buffer
    for information about the base address and pitch alignment requirements of buffers to be used as base for 2D images;

cl_khr_spir
    for information about the supported SPIR (Standard Portable Intermediate Representation) versions;

cl_khr_icd
    for the suffix of vendor extensions functions;

cl_ext_device_fission
    for device fission support in OpenCL 1.1 devices;

cl_ext_atomic_counters_32
cl_ext_atomic_counters_64
    for the atomic counter extension;

cl_amd_device_attribute_query
    for AMD-specific device attributes;

cl_amd_svm
    for Shared Virtual Memory (SVM) capabilities in OpenCL 1.2 devices;

cl_nv_device_attribute_query
    for NVIDIA-specific device attributes;

cl_intel_exec_by_local_thread
    for the Intel extension allowing CPU devices to run kernels as part of the current host thread;

cl_altera_device_temperature
    for the Altera extension to query the core temperature of the device;

cl_qcom_ext_host_ptr
    for the QUALCOMM extension to query page size and required padding in external memory allocation.

NOTES
Some information is duplicated when available from multiple sources. Examples:

•   supported device partition types and domains as obtained using the cl_ext_device_fission extension typically match the ones obtained using the core OpenCL 1.2 device partition feature;

•   the preferred work-group size multiple matches the NVIDIA warp size (on NVIDIA devices) or the AMD wavefront width (on AMD devices).

Some floating-point configuration flags may only be meaningful for specific precisions and/or specific OpenCL versions. For example, CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT is only relevant for single precision in OpenCL 1.2 devices.

The implementation-defined behavior for NULL platform or context properties is tested for the following API calls:

clGetPlatformInfo()
    by trying to show the platform name;

clGetDeviceIDs()
    by trying to enumerate devices; the corresponding platform (if any) is then detected by quering the device platform of the first device;

clCreateteContext()
    by trying to create a context from a device from the previous list (if any), and a context from a device from a different platform;

clCreateteContextFromType()
    by trying to create contexts for each device type (except DEFAULT).

EXPERIMENTAL FEATURES

Support for OpenCL 2.0 properties is not fully tested.

Raw (machine-parseable) output is considered experimental, the output format might still undergo changes.

The properties of the ICD loader will also be queried if the clGetICDLoaderInfoOCLICD extension function is found.

BUGS
The results of the following undocumented properties might be interpreted incorrectly:

•   CL_DEVICE_GLOBAL_FREE_MEMORY_AMD

Please report any issues on the project tracker on GitHub (http://github.com/Oblomov/clinfo).