clinfo man page

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”;

--offline

shows also offline devices for platforms that expose this feature;

-l, --list

list platforms and devices by name, with no (other) properties;

-h, -?

show usage;

--version, -v

show program version.

Conforming to

OpenCL 1.1, OpenCL 1.2, OpenCL 2.0, OpenCL 2.1.

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_offline_devices

to show offline devices exposed by the platform, if requested (see --offline option);

cl_amd_svm
cl_arm_shared_virtual_memory

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_intel_advanced_motion_estimation

for the version of the Intel Motion Estimation accelerator version;

cl_intel_device_side_avc_motion_estimation

for the version and supported features of Intel's device-side AVC Motion;

cl_intel_planar_yuv

for the maximum dimensions of planar YUV images;

cl_intel_simultaneous_sharing

for simultaneous CL/GL/DirectX context sharing (only partial support);

cl_intel_required_subgroup_size

to enumerate allowed sub-group sizes;

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:

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 querying 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 and OpenCL 2.1 properties is not fully tested.

Raw (machine-parsable) 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.

The highest OpenCL version supported by the ICD loader is detected with some trivial heuristics (symbols found); a notice is output if this is lower than the highest platform OpenCL version, or if the detected version doesn't match the one declared by the ICD loader itself.

Bugs

The CL_DEVICE_GLOBAL_FREE_MEMORY_AMD device information is documented in v3 of the cl_amd_device_attribute_query extension specification as being the global free memory in KBytes, but no explanation is given on why there are two values.

The CL_DEVICE_AVAILABLE_ASYNC_QUEUES_AMD device information is documented in v3 of the cl_amd_device_attribute_query extension specification, but not reported by current drivers, so it is currently disabled.

The CL_DEVICE_SIMULTANEOUS_INTEROPS_INTEL device information for the cl_intel_simultaneous_sharing extension is not reported, due to lack of knowledge on the possible values the list elements can have.

Please report any issues on the project tracker on GitHub.

Info

2017-02-09 clinfo 2.1.17.02.09