Portability | non-portable (GHC extensions) |
---|---|
Stability | experimental |
Maintainer | Martin Dybdal <dybber@dybber.dk> |
OpenCL bindings for querying a list of available device and information about those devices. See section 4.2 in the OpenCL specification
- getDeviceIDs :: [DeviceType] -> PlatformID -> IO [DeviceID]
- deviceAddressBits :: DeviceID -> IO Word32
- deviceAvailable :: DeviceID -> IO Bool
- deviceCompilerAvailable :: DeviceID -> IO Bool
- deviceEndianLittle :: DeviceID -> IO Bool
- deviceErrorCorrectionSupport :: DeviceID -> IO Bool
- deviceExecutionCapabilities :: DeviceID -> IO [DeviceExecCapabilities]
- deviceExtensions :: DeviceID -> IO [String]
- deviceGlobalMemCacheSize :: DeviceID -> IO ClULong
- deviceGlobalMemCacheLineSize :: DeviceID -> IO ClUInt
- deviceGlobalMemSize :: DeviceID -> IO ClULong
- deviceGlobalMemCacheType :: DeviceID -> IO DeviceMemCacheType
- deviceLocalMemSize :: DeviceID -> IO ClULong
- deviceLocalMemType :: DeviceID -> IO DeviceLocalMemType
- deviceImageSupport :: DeviceID -> IO Bool
- deviceImage2DMaxSize :: DeviceID -> IO (CSize, CSize)
- deviceImage3DMaxSize :: DeviceID -> IO (CSize, CSize, CSize)
- deviceMaxClockFrequency :: DeviceID -> IO Word32
- deviceMaxComputeUnits :: DeviceID -> IO Word32
- deviceMaxConstantArgs :: DeviceID -> IO ClUInt
- deviceMaxConstantBufferSize :: DeviceID -> IO ClULong
- deviceMaxMemAllocSize :: DeviceID -> IO ClULong
- deviceMaxParameterSize :: DeviceID -> IO CSize
- deviceMaxReadImageArgs :: DeviceID -> IO ClUInt
- deviceMaxSamplers :: DeviceID -> IO ClUInt
- deviceMaxWorkGroupSize :: DeviceID -> IO CSize
- deviceMaxWorkItemDimensions :: DeviceID -> IO ClUInt
- deviceMaxWorkItemSizes :: DeviceID -> IO [CSize]
- deviceMaxWriteImageArgs :: DeviceID -> IO ClUInt
- deviceMemBaseAddrAlign :: DeviceID -> IO ClUInt
- deviceMinDataTypeAlignSize :: DeviceID -> IO ClUInt
- deviceName :: DeviceID -> IO String
- devicePlatform :: DeviceID -> IO PlatformID
- devicePreferredVectorWidthChar :: DeviceID -> IO ClUInt
- devicePreferredVectorWidthShort :: DeviceID -> IO ClUInt
- devicePreferredVectorWidthInt :: DeviceID -> IO ClUInt
- devicePreferredVectorWidthLong :: DeviceID -> IO ClUInt
- devicePreferredVectorWidthFloat :: DeviceID -> IO ClUInt
- deviceProfile :: DeviceID -> IO String
- deviceProfilingTimerResolution :: DeviceID -> IO CSize
- deviceQueueProperties :: DeviceID -> IO [CommandQueueProperties]
- deviceSingleFPConfig :: DeviceID -> IO [DeviceFPConfig]
- deviceType :: DeviceID -> IO [DeviceType]
- deviceVendor :: DeviceID -> IO String
- deviceVendorID :: DeviceID -> IO ClUInt
- deviceVersion :: DeviceID -> IO String
- deviceDriverVersion :: DeviceID -> IO String
Documentation
:: [DeviceType] | The types of devices to query |
-> PlatformID | |
-> IO [DeviceID] |
Obtain a list of available devices on a platform.
deviceAddressBits :: DeviceID -> IO Word32
The default compute device address space size in bits. (Supported values in OpenCL 1.1.: 32 bits or 64 bits)
deviceAvailable :: DeviceID -> IO Bool
True if the device is available.
deviceCompilerAvailable :: DeviceID -> IO Bool
True if the compiler is available, can only be false for the embedded profile.
deviceEndianLittle :: DeviceID -> IO Bool
True if the device is little endian.
deviceErrorCorrectionSupport :: DeviceID -> IO Bool
True if the device supports error connection for memories, cache, and registers.
deviceExecutionCapabilities :: DeviceID -> IO [DeviceExecCapabilities]
The execution capabilities of the device
deviceExtensions :: DeviceID -> IO [String]
The extensions supported by the device
deviceGlobalMemCacheSize :: DeviceID -> IO ClULong
The size in bytes of the global memory cache
deviceGlobalMemCacheLineSize :: DeviceID -> IO ClUInt
Size of global memory cache line size in bytes
deviceGlobalMemSize :: DeviceID -> IO ClULong
Size of global memory size in bytes
deviceGlobalMemCacheType :: DeviceID -> IO DeviceMemCacheType
The type of global memory cache on the device.
deviceLocalMemSize :: DeviceID -> IO ClULong
The size of the local memory arena in bytes.
deviceLocalMemType :: DeviceID -> IO DeviceLocalMemType
The type of local memory on the device.
deviceImageSupport :: DeviceID -> IO Bool
True if images are supported by the device.
deviceImage2DMaxSize :: DeviceID -> IO (CSize, CSize)
Max size of a 2D image (width, height)
deviceImage3DMaxSize :: DeviceID -> IO (CSize, CSize, CSize)
Max size of a 3D image (width, height, depth)
deviceMaxClockFrequency :: DeviceID -> IO Word32
Maximum configured clock frequency of the device in MHz
deviceMaxComputeUnits :: DeviceID -> IO Word32
The number of parallel compute cos on the device
deviceMaxConstantArgs :: DeviceID -> IO ClUInt
Max number of constant arguments to a kernel
deviceMaxConstantBufferSize :: DeviceID -> IO ClULong
Max size in bytes of a constant buffer allocation
deviceMaxMemAllocSize :: DeviceID -> IO ClULong
Max size of device memory allocation in bytes
deviceMaxParameterSize :: DeviceID -> IO CSize
Max size in bytes of the arguments that can be passed to a kernel
deviceMaxReadImageArgs :: DeviceID -> IO ClUInt
Maximum number of simultaneous image objects that can be read by a kernel
deviceMaxSamplers :: DeviceID -> IO ClUInt
Maximum number of samplers that can be used in a kernel
deviceMaxWorkGroupSize :: DeviceID -> IO CSize
Maximum number of work-items in a work-group executing a kernel using the data parallel execution model.
deviceMaxWorkItemDimensions :: DeviceID -> IO ClUInt
Maximum number of dimensions for work-item IDs used by the data parallel execution model.
deviceMaxWorkItemSizes :: DeviceID -> IO [CSize]
Maximum number of work items that can be specified in each dimension of the work-group when using the data parallel execution model.
deviceMaxWriteImageArgs :: DeviceID -> IO ClUInt
Maximum number of simultaneous image objects that can be written by a kernel
deviceMemBaseAddrAlign :: DeviceID -> IO ClUInt
Describes the alignment in bits of the base address of any allocated memory object
deviceMinDataTypeAlignSize :: DeviceID -> IO ClUInt
The smallest alignment in bytes which can be used for any data type
deviceName :: DeviceID -> IO String
The name of the device
devicePlatform :: DeviceID -> IO PlatformID
The platform associated with this device
devicePreferredVectorWidthChar :: DeviceID -> IO ClUInt
Preferred native number of elements in char vectors
devicePreferredVectorWidthShort :: DeviceID -> IO ClUInt
Preferred native number of elements in short vectors
devicePreferredVectorWidthInt :: DeviceID -> IO ClUInt
Preferred native number of elements in int vectors
devicePreferredVectorWidthLong :: DeviceID -> IO ClUInt
Preferred native number of elements in long vectors
devicePreferredVectorWidthFloat :: DeviceID -> IO ClUInt
Preferred native number of elements in float vectors
deviceProfile :: DeviceID -> IO String
The profile supported by the device
deviceProfilingTimerResolution :: DeviceID -> IO CSize
The resolution in nanoseconds of the device timer
deviceQueueProperties :: DeviceID -> IO [CommandQueueProperties]
The command queue properties supported by the device
deviceSingleFPConfig :: DeviceID -> IO [DeviceFPConfig]
Describe the single precision floating point capability of the device
deviceType :: DeviceID -> IO [DeviceType]
Describe the type of the device
deviceVendor :: DeviceID -> IO String
Obtain the device vendor name
deviceVendorID :: DeviceID -> IO ClUInt
Obtain a unique device vendor indentifier, which may be the PCIe ID.
deviceVersion :: DeviceID -> IO String
Obtain the OpenCL version supported by the device
deviceDriverVersion :: DeviceID -> IO String
Obtain the OpenCL software driver version string