hopencl-0.2.1: Haskell bindings for OpenCL

Portabilitynon-portable (GHC extensions)
Stabilityexperimental
MaintainerMartin Dybdal <dybber@dybber.dk>
Safe HaskellNone

Foreign.OpenCL.Bindings.Device

Description

OpenCL bindings for querying a list of available device and information about those devices. See section 4.2 in the OpenCL specification

Synopsis

Documentation

getDeviceIDsSource

Arguments

:: [DeviceType]

The types of devices to query

-> PlatformID 
-> IO [DeviceID] 

Obtain a list of available devices on a platform.

deviceAddressBits :: DeviceID -> IO Word32Source

The default compute device address space size in bits. (Supported values in OpenCL 1.1.: 32 bits or 64 bits)

deviceAvailable :: DeviceID -> IO BoolSource

True if the device is available.

deviceCompilerAvailable :: DeviceID -> IO BoolSource

True if the compiler is available, can only be false for the embedded profile.

deviceEndianLittle :: DeviceID -> IO BoolSource

True if the device is little endian.

deviceErrorCorrectionSupport :: DeviceID -> IO BoolSource

True if the device supports error connection for memories, cache, and registers.

deviceExecutionCapabilities :: DeviceID -> IO [DeviceExecCapabilities]Source

The execution capabilities of the device

deviceExtensions :: DeviceID -> IO [String]Source

The extensions supported by the device

deviceGlobalMemCacheSize :: DeviceID -> IO ClULongSource

The size in bytes of the global memory cache

deviceGlobalMemCacheLineSize :: DeviceID -> IO ClUIntSource

Size of global memory cache line size in bytes

deviceGlobalMemSize :: DeviceID -> IO ClULongSource

Size of global memory size in bytes

deviceGlobalMemCacheType :: DeviceID -> IO DeviceMemCacheTypeSource

The type of global memory cache on the device.

deviceLocalMemSize :: DeviceID -> IO ClULongSource

The size of the local memory arena in bytes.

deviceLocalMemType :: DeviceID -> IO DeviceLocalMemTypeSource

The type of local memory on the device.

deviceImageSupport :: DeviceID -> IO BoolSource

True if images are supported by the device.

deviceImage2DMaxSize :: DeviceID -> IO (CSize, CSize)Source

Max size of a 2D image (width, height)

deviceImage3DMaxSize :: DeviceID -> IO (CSize, CSize, CSize)Source

Max size of a 3D image (width, height, depth)

deviceMaxClockFrequency :: DeviceID -> IO Word32Source

Maximum configured clock frequency of the device in MHz

deviceMaxComputeUnits :: DeviceID -> IO Word32Source

The number of parallel compute cos on the device

deviceMaxConstantArgs :: DeviceID -> IO ClUIntSource

Max number of constant arguments to a kernel

deviceMaxConstantBufferSize :: DeviceID -> IO ClULongSource

Max size in bytes of a constant buffer allocation

deviceMaxMemAllocSize :: DeviceID -> IO ClULongSource

Max size of device memory allocation in bytes

deviceMaxParameterSize :: DeviceID -> IO CSizeSource

Max size in bytes of the arguments that can be passed to a kernel

deviceMaxReadImageArgs :: DeviceID -> IO ClUIntSource

Maximum number of simultaneous image objects that can be read by a kernel

deviceMaxSamplers :: DeviceID -> IO ClUIntSource

Maximum number of samplers that can be used in a kernel

deviceMaxWorkGroupSize :: DeviceID -> IO CSizeSource

Maximum number of work-items in a work-group executing a kernel using the data parallel execution model.

deviceMaxWorkItemDimensions :: DeviceID -> IO ClUIntSource

Maximum number of dimensions for work-item IDs used by the data parallel execution model.

deviceMaxWorkItemSizes :: DeviceID -> IO [CSize]Source

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 ClUIntSource

Maximum number of simultaneous image objects that can be written by a kernel

deviceMemBaseAddrAlign :: DeviceID -> IO ClUIntSource

Describes the alignment in bits of the base address of any allocated memory object

deviceMinDataTypeAlignSize :: DeviceID -> IO ClUIntSource

The smallest alignment in bytes which can be used for any data type

deviceName :: DeviceID -> IO StringSource

The name of the device

devicePlatform :: DeviceID -> IO PlatformIDSource

The platform associated with this device

devicePreferredVectorWidthChar :: DeviceID -> IO ClUIntSource

Preferred native number of elements in char vectors

devicePreferredVectorWidthShort :: DeviceID -> IO ClUIntSource

Preferred native number of elements in short vectors

devicePreferredVectorWidthInt :: DeviceID -> IO ClUIntSource

Preferred native number of elements in int vectors

devicePreferredVectorWidthLong :: DeviceID -> IO ClUIntSource

Preferred native number of elements in long vectors

devicePreferredVectorWidthFloat :: DeviceID -> IO ClUIntSource

Preferred native number of elements in float vectors

deviceProfile :: DeviceID -> IO StringSource

The profile supported by the device

deviceProfilingTimerResolution :: DeviceID -> IO CSizeSource

The resolution in nanoseconds of the device timer

deviceQueueProperties :: DeviceID -> IO [CommandQueueProperties]Source

The command queue properties supported by the device

deviceSingleFPConfig :: DeviceID -> IO [DeviceFPConfig]Source

Describe the single precision floating point capability of the device

deviceType :: DeviceID -> IO [DeviceType]Source

Describe the type of the device

deviceVendor :: DeviceID -> IO StringSource

Obtain the device vendor name

deviceVendorID :: DeviceID -> IO ClUIntSource

Obtain a unique device vendor indentifier, which may be the PCIe ID.

deviceVersion :: DeviceID -> IO StringSource

Obtain the OpenCL version supported by the device

deviceDriverVersion :: DeviceID -> IO StringSource

Obtain the OpenCL software driver version string