Get information about OpenCL devices
platforms = cv.Utils.getPlatfomsInfo()
Output
- platforms struct-array of information about OpenCL
platforms:
- name Platform name string.
- vendor Platform vendor string.
- version OpenCL version string supported by the
implementation.
- device struct-array of information about OpenCL device:
- name Device name string.
- extensions Space separated list of extension names.
- version OpenCL version string supported by the device.
- vendorName Vendor name string.
- vendorID Vendor ID string.
- OpenCL_C_Version The highest OpenCL C version
supported by the compiler for this device.
- OpenCLVersion OpenCL version string supported by the
device.
- deviceVersionMajor OpenCL major version supported by
the device.
- deviceVersionMinor OpenCL minor version supported by
the device.
- driverVersion OpenCL software driver version string.
- type The OpenCL device type (CPU, GPU, etc.).
- addressBits The default compute device address space
size, 32 or 64 bits.
- available true if the device is available and false if
the device is not available.
- compilerAvailable Is false if the implementation does
not have a compiler available to compile the program
source. Is true if the compiler is available.
- linkerAvailable Is false if the implementation does
not have a linker available. Is true if the linker is
available.
- doubleFPConfig Describes double precision
floating-point capability of the device.
- singleFPConfig Describes single precision
floating-point capability of the device:
- Denorm denorms are supported.
- InfNaN INF and NaNs are supported.
- RoundToNearest round to nearest even rounding mode
supported.
- RoundToZero round to zero rounding mode supported.
- RoundToInf round to positive and negative infinity
rounding modes supported.
- FMA IEEE754-2008 fused multiply-add is supported.
- SoftFloat Basic floating-point operations (such as
addition, subtraction, multiplication) are implemented
in software.
- halfFPConfig Describes the optional half precision
floating-point capability of the device.
- endianLittle Is true if the OpenCL device is a little
endian device and false otherwise.
- errorCorrectionSupport Is true if the device
implements error correction for all accesses to compute
device memory (global and constant). Is false if the
device does not implement such error correction.
- executionCapabilities Describes the execution
capabilities of the device:
- Kernel The OpenCL device can execute OpenCL kernels.
- NativeKernel The OpenCL device can execute native
kernels.
- globalMemCacheSize Size of global memory cache in
bytes.
- globalMemCacheType Type of global memory cache
supported, one of: 'NoCache', 'ReadOnlyCache',
'ReadWriteCache'.
- globalMemCacheLineSize Size of global memory cache
line in bytes.
- globalMemSize Size of global device memory in bytes.
- localMemSize Size of local memory arena in bytes.
- localMemType Type of local memory supported (local or
global).
- hostUnifiedMemory Is true if the device and the host
have a unified memory subsystem and is false otherwise.
- imageSupport Is CL_TRUE if images are supported by the
OpenCL device and CL_FALSE otherwise.
- imageFromBufferSupport Is true if
"cl_khr_image2d_from_buffer" extension is supported.
- imagePitchAlignment The row pitch alignment size in
pixels for 2D images created from a buffer.
- imageBaseAddressAlignment
- image2DMaxWidth Max width of 2D image or 1D image not
created from a buffer object in pixels
- image2DMaxHeight Max height of 2D image in pixels.
- image3DMaxWidth Max width of 3D image in pixels.
- image3DMaxHeight Max height of 3D image in pixels.
- image3DMaxDepth Max depth of 3D image in pixels.
- imageMaxBufferSize Max number of pixels for a 1D image
created from a buffer object.
- imageMaxArraySize Max number of images in a 1D or 2D
image array.
- maxClockFrequency Maximum configured clock frequency
of the device in MHz.
- maxComputeUnits The number of parallel compute units
on the OpenCL device. A work-group executes on a single
compute unit.
- maxConstantArgs Max number of arguments declared with
the
__constant
qualifier in a kernel.
- maxConstantBufferSize Max size in bytes of a constant
buffer allocation.
- maxMemAllocSize Max size of memory object allocation
in bytes.
- maxParameterSize Max size in bytes of all arguments
that can be passed to a kernel.
- maxReadImageArgs Max number of image objects arguments
of a kernel declared with the
read_only
qualifier.
- maxWriteImageArgs Max number of image objects
arguments of a kernel declared with the
write_only
qualifier.
- maxSamplers Maximum number of samplers that can be
used in a kernel.
- maxWorkGroupSize Maximum number of work-items in a
work-group executing a kernel on a single compute unit,
using the data parallel execution model.
- maxWorkItemDims Maximum dimensions that specify the
global and local work-item IDs used by the data parallel
execution model.
- maxWorkItemSizes Maximum number of work-items that can
be specified in each dimension of the work-group.
- memBaseAddrAlign The minimum value is the size
(in bits) of the largest OpenCL built-in data type
supported by the device.
- nativeVectorWidthChar, nativeVectorWidthShort,
nativeVectorWidthInt, nativeVectorWidthLong,
nativeVectorWidthFloat, nativeVectorWidthDouble,
nativeVectorWidthHalf The native ISA vector width. The
vector width is defined as the number of scalar elements
that can be stored in the vector.
- preferredVectorWidthChar, preferredVectorWidthShort,
preferredVectorWidthInt, preferredVectorWidthLong,
preferredVectorWidthFloat, preferredVectorWidthDouble,
preferredVectorWidthHalf Preferred native vector width
size for built-in scalar types that can be put into
vectors. The vector width is defined as the number of
scalar elements that can be stored in the vector.
- printfBufferSize Maximum size in bytes of the internal
buffer that holds the output of
printf
calls from a
kernel.
- profilingTimerResolution Resolution of timer, i.e. the
number of nanoseconds elapsed before the timer is
incremented.
See OpenCL
docs.
If OpenCV is compiled without OpenCL support, the function
returns an empty struct.