Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CLINFO(1)		    General Commands Manual		     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:

       -a, --all-props
	 try to	retrieve all properties, even those not	 officially  supported
	 (e.g.	because	 they require specific extensions), but	only show them
	 if the	property could be retrieved successfully; see also the LIMITA-
	 TIONS	section	 below;	 note  that even though	this may reveal	hidden
	 properties, there is no guarantee that	the returned values are	 mean-
	 ingful,  nor  that the	corresponding feature is actually available at
	 all;

       -A, --always-all-props
	 like -a, but also show	errors;

       --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 in-
	 voked 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, OpenCL 2.2.

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 require-
	 ments of buffers to be	used as	base for 2D images;

       cl_khr_il_program
	 for information about the supported IL	(Intermediate Language)	repre-
	 sentations;

       cl_khr_spir
	 for  information about	the supported SPIR (Standard Portable Interme-
	 diate Representation) versions;

       cl_khr_icd
	 for the suffix	of vendor extensions functions;

       cl_khr_subgroup_named_barrier
	 for the maximum number	of named sub-group barriers;

       cl_khr_terminate_context
	 for the terminate capabilities	for the	device;

       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_object_metadata
	 to show the maximum number of keys supported by the platform;

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

       cl_amd_copy_buffer_p2p
	 to show the number and	IDs of available P2P devices;

       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 Mo-
	 tion;

       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 sup-
	 port);

       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:

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

       o 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 spe-
       cific  precisions  and/or  specific  OpenCL  versions.	For   example,
       CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT  is only relevant for single	preci-
       sion in OpenCL 1.2 devices.

       The implementation-defined behavior for NULL platform or	context	 prop-
       erties 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.x properties is not	fully tested.

       Support	for cl_khr_subgroup_named_barrier is experimental due to miss-
       ing definitions in the official OpenCL headers.

       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 clGetICD-
       LoaderInfoOCLICD	extension function is found.

       Support for the properties exposed by cl_amd_copy_buffer_p2p is experi-
       mental.

       Support	for  some  (documented and undocumented) properties exposed by
       cl_amd_device_attribute_query is	experimental (see also LIMITATIONS).

       Support for the interop lists exposed by	 cl_intel_simultaneous_sharing
       is experimental.

       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 ver-
       sion doesn't match the one declared by the ICD loader itself.

LIMITATIONS
       OpenCL provides no explicit mean	to detect the supported	version	of any
       extension exposed by a device, which makes it impossible	to determine a
       priori if it will be possible to	successfully query a  device  about  a
       specific	 property.   Additionally, the actual size and meaning of some
       properties are not officially declared anywhere.

       Most notably, this  affects  extensions	such  as  cl_amd_device_attri-
       bute_query and cl_nv_device_attribute_query.  Heuristics	based on stan-
       dard version support are	partially used in the code to determine	 which
       version may be supported.

       Properties which	are known to be	affected by these limitations include:

       CL_DEVICE_GLOBAL_FREE_MEMORY_AMD
	 documented in v3 of the cl_amd_device_attribute_query extension spec-
	 ification as being the	global free memory in KBytes, without any  ex-
	 planation given on why	there are two values;

       CL_DEVICE_AVAILABLE_ASYNC_QUEUES_AMD
	 documented in v3 of the cl_amd_device_attribute_query extension spec-
	 ification, but	not reported by	drivers	supporting  other  v3  proper-
	 ties.	This has now been enabled for drivers assumed to support v4 of
	 the same extension;

       CL_DEVICE_TERMINATE_CAPABILITY_KHR
	 exposed by the	cl_khr_terminate_context  has  changed	value  between
	 OpenCL	 1.x  and 2.x, and it's	allegedly a bitfield, whose values are
	 however not defined anywhere.

BUGS
       Please  report  any  issues  on	 the   project	 tracker   on	GitHub
       <http://github.com/Oblomov/clinfo>.

clinfo 2.2.18.04.06		  2018-04-06			     CLINFO(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | CONFORMING TO | EXTENSIONS | NOTES | EXPERIMENTAL FEATURES | LIMITATIONS | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=clinfo&sektion=1&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help