clinfo - show OpenCL platforms and devices
prints all available information about all OpenCL platforms
available on the system and the devices they expose.
accepts the following options:
- produce human-friendly output; this is the default (except
as noted below);
- produce machine-friendly output; this is the default if
clinfo is invoked with a name that contains the string
- shows also offline devices for platforms that expose this
- -l, --list
- list platforms and devices by name, with no (other)
- -h, -?
- show usage;
- --version, -v
- show program version.
OpenCL 1.1, OpenCL 1.2, OpenCL 2.0, OpenCL 2.1.
Supported OpenCL extensions:
- cl_khr_fp16, cl_khr_fp64, cl_amd_fp64,
- for information about support for half-precision and
double-precision floating-point data types;
- for information about the base address and pitch alignment
requirements of buffers to be used as base for 2D images;
- for information about the supported SPIR (Standard Portable
Intermediate Representation) versions;
- for the suffix of vendor extensions functions;
- for device fission support in OpenCL 1.1 devices;
- cl_ext_atomic_counters_64 for the atomic counter
- for AMD-specific device attributes;
- to show offline devices exposed by the platform, if
requested (see --offline option);
- for Shared Virtual Memory (SVM) capabilities in OpenCL 1.2
- for NVIDIA-specific device attributes;
- for the Intel extension allowing CPU devices to run kernels
as part of the current host thread;
- for the version of the Intel Motion Estimation accelerator
- for simultaneous CL/GL/DirectX context sharing (only
- for the Altera extension to query the core temperature of
- for the QUALCOMM extension to query page size and required
padding in external memory allocation.
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,
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:
- by trying to show the platform name;
- by trying to enumerate devices; the corresponding platform
(if any) is then detected by querying the device platform of the first
- by trying to create a context from a device from the
previous list (if any), and a context from a device from a different
- by trying to create contexts for each device type (except
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
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.
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.
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.
device information for the
extension is not reported, due to lack of
knowledge on the possible values the list elements can have.
Please report any issues on
tracker on GitHub