Class CLDevice

    • Constructor Detail

      • CLDevice

        protected CLDevice​(CLPlatform platform,
                           long id)
      • CLDevice

        protected CLDevice​(CLContext context,
                           long id)
    • Method Detail

      • createCommandQueue

        public CLCommandQueue createCommandQueue​(long properties)
      • getName

        public String getName()
        Returns the name of this device.
      • getProfile

        public String getProfile()
        Returns the OpenCL profile of this device.
      • getVendor

        public String getVendor()
        Returns the vendor of this device.
      • getVendorID

        public long getVendorID()
        Returns the vendor id of this device.
      • getVersion

        public CLVersion getVersion()
        Returns the OpenCL version supported by the device.
      • getCVersion

        public CLVersion getCVersion()
        Returns the OpenCL-C version supported by the device.
      • getDriverVersion

        public String getDriverVersion()
        Returns OpenCL software driver version string in the form major_number.minor_number.
      • getType

        public CLDevice.Type getType()
        Returns the type of this device.
      • getAddressBits

        public int getAddressBits()
        The default compute device address space size specified in bits. Currently supported values are 32 or 64 bits.
      • getPreferredShortVectorWidth

        public int getPreferredShortVectorWidth()
        Preferred native vector width size for built-in short vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getPreferredCharVectorWidth

        public int getPreferredCharVectorWidth()
        Preferred native vector width size for built-in char vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getPreferredIntVectorWidth

        public int getPreferredIntVectorWidth()
        Preferred native vector width size for built-in int vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getPreferredLongVectorWidth

        public int getPreferredLongVectorWidth()
        Preferred native vector width size for built-in long vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getPreferredFloatVectorWidth

        public int getPreferredFloatVectorWidth()
        Preferred native vector width size for built-in float vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getPreferredDoubleVectorWidth

        public int getPreferredDoubleVectorWidth()
        Preferred native vector width size for built-in double vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getNativeCharVectorWidth

        public int getNativeCharVectorWidth()
        Native vector width size for built-in char vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getNativeShortVectorWidth

        public int getNativeShortVectorWidth()
        Native vector width size for built-in short vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getNativeIntVectorWidth

        public int getNativeIntVectorWidth()
        Native vector width size for built-in int vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getNativeLongVectorWidth

        public int getNativeLongVectorWidth()
        Native vector width size for built-in long vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getNativeHalfVectorWidth

        public int getNativeHalfVectorWidth()
        Native vector width size for built-in half vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getNativeFloatVectorWidth

        public int getNativeFloatVectorWidth()
        Native vector width size for built-in float vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getNativeDoubleVectorWidth

        public int getNativeDoubleVectorWidth()
        Native vector width size for built-in double vectors. The vector width is defined as the number of scalar elements that can be stored in the vector.
      • getMaxComputeUnits

        public int getMaxComputeUnits()
        Returns the number of parallel compute cores on the OpenCL device. The minimum value is 1.
      • getMaxWorkGroupSize

        public int getMaxWorkGroupSize()
        Returns the maximum number of work-items in a work-group executing a kernel using the data parallel execution model. The minimum value is 1.
      • getMaxClockFrequency

        public int getMaxClockFrequency()
        Returns the maximum configured clock frequency of the device in MHz.
      • getMaxWorkItemDimensions

        public int getMaxWorkItemDimensions()
        Returns the maximum dimensions that specify the global and local work-item IDs used by the data parallel execution model. The minimum value is 3.
      • getMaxWorkItemSizes

        public int[] getMaxWorkItemSizes()
        Returns the maximum number of work-items that can be specified in each dimension of the work-group. The minimum value is (1, 1, 1).
      • getMaxParameterSize

        public long getMaxParameterSize()
        Returns the max size in bytes of the arguments that can be passed to a kernel.
        The minimum OpenCL 1.0 value is 256.
        The minimum OpenCL 1.1 value is 1024.
      • getMaxMemAllocSize

        public long getMaxMemAllocSize()
        Returns the largest allocatable size of a CLBuffer on this device.
      • getMemBaseAddrAlign

        public long getMemBaseAddrAlign()
        Returns the uint32_t memory base address alignment value reinterpreted as a long value.
      • getGlobalMemSize

        public long getGlobalMemSize()
        Returns the global memory size in bytes.
      • getLocalMemSize

        public long getLocalMemSize()
        Returns the local memory size in bytes.
        The minimum OpenCL 1.0 value is 16 KB.
        The minimum OpenCL 1.1 value is 32 KB.
      • isMemoryUnified

        public boolean isMemoryUnified()
        Returns true if the device and the host have a unified memory subsystem.
      • getMaxConstantBufferSize

        public long getMaxConstantBufferSize()
        Returns the max size in bytes of a constant buffer allocation. The minimum value is 64 KB.
      • getGlobalMemCachelineSize

        public long getGlobalMemCachelineSize()
        Returns the size of global memory cache line in bytes.
      • getGlobalMemCacheSize

        public long getGlobalMemCacheSize()
        Returns the size of global memory cache in bytes.
      • getMaxConstantArgs

        public long getMaxConstantArgs()
        Returns the max number of arguments declared with the constant qualifier in a kernel. The minimum value is 8.
      • isImageSupportAvailable

        public boolean isImageSupportAvailable()
        Returns true if images are supported by the OpenCL device and false otherwise.
      • getMaxReadImageArgs

        public int getMaxReadImageArgs()
        Returns the max number of simultaneous image objects that can be read by a kernel. The minimum value is 128 if image support is available.
      • getMaxWriteImageArgs

        public int getMaxWriteImageArgs()
        Returns the max number of simultaneous image objects that can be written by a kernel. The minimum value is 8 if image support is available.
      • getMaxImage2dWidth

        public int getMaxImage2dWidth()
        Returns the max width of 2D image in pixels. The minimum value is 8192 if image support is available.
      • getMaxImage2dHeight

        public int getMaxImage2dHeight()
        Returns the max height of 2D image in pixels. The minimum value is 8192 if image support is available.
      • getMaxImage3dWidth

        public int getMaxImage3dWidth()
        Returns the max width of 3D image in pixels. The minimum value is 2048 if image support is available.
      • getMaxImage3dHeight

        public int getMaxImage3dHeight()
        Returns the max height of 3D image in pixels. The minimum value is 2048 if image support is available.
      • getMaxImage3dDepth

        public int getMaxImage3dDepth()
        Returns the max depth of 3D image in pixels. The minimum value is 2048 if image support is available.
      • getMaxSamplers

        public int getMaxSamplers()
        Returns the maximum number of samplers that can be used in a kernel. The minimum value is 16 if image support is available.
      • getProfilingTimerResolution

        public long getProfilingTimerResolution()
        Returns the resolution of device timer. This is measured in nanoseconds.
      • getExecutionCapabilities

        public EnumSet<CLDevice.Capabilities> getExecutionCapabilities()
        Returns the execution capabilities as EnumSet.
      • getGlobalMemCacheType

        public CLDevice.GlobalMemCacheType getGlobalMemCacheType()
        Returns the type of global memory cache supported.
      • getQueueProperties

        public EnumSet<CLCommandQueue.Mode> getQueueProperties()
        Returns the command-queue properties supported by the device.
      • isAvailable

        public boolean isAvailable()
        Returns true if this device is available.
      • isCompilerAvailable

        public boolean isCompilerAvailable()
        Returns false if the implementation does not have a compiler available to compile the program source. Is true if the compiler is available. This can be false for the OpenCL ES profile only.
      • isLittleEndian

        public boolean isLittleEndian()
        Returns true if the OpenCL device is a little endian device and false otherwise.
      • isErrorCorrectionSupported

        public boolean isErrorCorrectionSupported()
        Returns true if the device implements error correction for the memories, caches, registers etc. in the device. Is false if the device does not implement error correction.
      • isExtensionAvailable

        public boolean isExtensionAvailable​(String extension)
        Returns true if the extension is supported on this device.
        See Also:
        getExtensions()
      • getExtensions

        public Set<String> getExtensions()
        Returns all device extension names as unmodifiable Set.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object