hopencl-0.2.0: Haskell bindings for OpenCL

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



OpenCL bindings for command-queues. Command Queues are used to schedule operations (such as memory operations and kernel invocations) on a given device. Multiple command queues can be used with a single device if no synchronization between individual tasks is desired. See section 5.1 in the OpenCL specification





:: Context

The Context to which the CommandQueue should be associated

-> DeviceID

The DeviceID that should process the operations enqueued to the CommandQueue

-> [CommandQueueProperties]

Can be used to specify out-of-order execution and enable profiling

-> IO CommandQueue 

Create a new CommandQueue for scheduling operations on the given device.

queueContext :: CommandQueue -> IO Context

The Context this CommandQueue is associated with

queueDevice :: CommandQueue -> IO DeviceID

The DeviceID of the device this CommandQueue is associated with

queueProperties :: CommandQueue -> IO [CommandQueueProperties]

The list of CommandQueueProperties specified when the CommandQueue was created.

flush :: CommandQueue -> IO ()

Issues all previously queued OpenCL commands in the CommandQueue to the device associated with the CommandQueue. flush only guarantees that all queued commands to the CommandQueue get issued to the appropriate device. There is no guarantee that they will be complete after flush returns. (See also Foreign.OpenCL.Bindings.Synchronization.finish)