1CLINFO(1) General Commands Manual CLINFO(1)
2
3
4
6 clinfo - show OpenCL platforms and devices
7
8
10 clinfo [options ...]
11
12
14 clinfo prints all available information about all OpenCL platforms
15 available on the system and the devices they expose.
16
17
19 clinfo accepts the following options:
20
21 --human
22 produce human-friendly output; this is the default (except as noted
23 below);
24
25 --raw
26 produce machine-friendly output; this is the default if clinfo is
27 invoked with a name that contains the string “raw”;
28
29 --offline
30 shows also offline devices for platforms that expose this feature;
31
32 -l, --list
33 list platforms and devices by name, with no (other) properties;
34
35 -h, -?
36 show usage;
37
38 --version, -v
39 show program version.
40
41
43 OpenCL 1.1, OpenCL 1.2, OpenCL 2.0, OpenCL 2.1, OpenCL 2.2.
44
45
47 Supported OpenCL extensions:
48
49 cl_khr_fp16, cl_khr_fp64, cl_amd_fp64, cl_APPLE_fp64_basic_ops
50 for information about support for half-precision and double-precision
51 floating-point data types;
52
53 cl_khr_image2d_from_buffer
54 for information about the base address and pitch alignment require‐
55 ments of buffers to be used as base for 2D images;
56
57 cl_khr_spir
58 for information about the supported SPIR (Standard Portable Interme‐
59 diate Representation) versions;
60
61 cl_khr_icd
62 for the suffix of vendor extensions functions;
63
64 cl_khr_subgroup_named_barrier
65 for the maximum number of named sub-group barriers;
66
67 cl_khr_terminate_context
68 for the terminate capabilities for the device;
69
70 cl_ext_device_fission
71 for device fission support in OpenCL 1.1 devices;
72
73 cl_ext_atomic_counters_32
74 cl_ext_atomic_counters_64
75 for the atomic counter extension;
76
77 cl_amd_device_attribute_query
78 for AMD-specific device attributes;
79
80 cl_amd_offline_devices
81 to show offline devices exposed by the platform, if requested (see
82 --offline option);
83
84 cl_amd_svm
85 cl_arm_shared_virtual_memory
86 for Shared Virtual Memory (SVM) capabilities in OpenCL 1.2 devices;
87
88 cl_nv_device_attribute_query
89 for NVIDIA-specific device attributes;
90
91 cl_intel_exec_by_local_thread
92 for the Intel extension allowing CPU devices to run kernels as part
93 of the current host thread;
94
95 cl_intel_advanced_motion_estimation
96 for the version of the Intel Motion Estimation accelerator version;
97
98 cl_intel_device_side_avc_motion_estimation
99 for the version and supported features of Intel's device-side AVC
100 Motion;
101
102 cl_intel_planar_yuv
103 for the maximum dimensions of planar YUV images;
104
105 cl_intel_simultaneous_sharing
106 for simultaneous CL/GL/DirectX context sharing (only partial sup‐
107 port);
108
109 cl_intel_required_subgroup_size
110 to enumerate allowed sub-group sizes;
111
112 cl_altera_device_temperature
113 for the Altera extension to query the core temperature of the device;
114
115 cl_qcom_ext_host_ptr
116 for the QUALCOMM extension to query page size and required padding in
117 external memory allocation.
118
119
121 Some information is duplicated when available from multiple sources.
122 Examples:
123
124 · supported device partition types and domains as obtained using the
125 cl_ext_device_fission extension typically match the ones obtained
126 using the core OpenCL 1.2 device partition feature;
127
128 · the preferred work-group size multiple matches the NVIDIA warp size
129 (on NVIDIA devices) or the AMD wavefront width (on AMD devices).
130
131
132 Some floating-point configuration flags may only be meaningful for spe‐
133 cific precisions and/or specific OpenCL versions. For example,
134 CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT is only relevant for single preci‐
135 sion in OpenCL 1.2 devices.
136
137
138 The implementation-defined behavior for NULL platform or context prop‐
139 erties is tested for the following API calls:
140
141 clGetPlatformInfo()
142 by trying to show the platform name;
143
144 clGetDeviceIDs()
145 by trying to enumerate devices; the corresponding platform (if any)
146 is then detected by querying the device platform of the first device;
147
148 clCreateteContext()
149 by trying to create a context from a device from the previous list
150 (if any), and a context from a device from a different platform;
151
152 clCreateteContextFromType()
153 by trying to create contexts for each device type (except DEFAULT).
154
155
157 Support for OpenCL 2.x properties is not fully tested.
158
159
160 Support for cl_khr_subgroup_named_barrier is experimental due to miss‐
161 ing definitions in the official OpenCL headers.
162
163
164 Raw (machine-parsable) output is considered experimental, the output
165 format might still undergo changes.
166
167
168 The properties of the ICD loader will also be queried if the clGetICD‐
169 LoaderInfoOCLICD extension function is found.
170
171
172 The highest OpenCL version supported by the ICD loader is detected with
173 some trivial heuristics (symbols found); a notice is output if this is
174 lower than the highest platform OpenCL version, or if the detected ver‐
175 sion doesn't match the one declared by the ICD loader itself.
176
177
179 The CL_DEVICE_GLOBAL_FREE_MEMORY_AMD device information is documented
180 in v3 of the cl_amd_device_attribute_query extension specification as
181 being the global free memory in KBytes, but no explanation is given on
182 why there are two values.
183
184 The CL_DEVICE_AVAILABLE_ASYNC_QUEUES_AMD device information is docu‐
185 mented in v3 of the cl_amd_device_attribute_query extension specifica‐
186 tion, but not reported by current drivers, so it is currently disabled.
187
188 The CL_DEVICE_SIMULTANEOUS_INTEROPS_INTEL device information for the
189 cl_intel_simultaneous_sharing extension is not reported, due to lack of
190 knowledge on the possible values the list elements can have.
191
192
193 Please report any issues on the project tracker on GitHub
194 ⟨http://github.com/Oblomov/clinfo⟩.
195
196
197
198
199clinfo 2.2.17.10.25 2017-10-25 CLINFO(1)