| Portability | non-portable (GHC extensions) |
|---|---|
| Stability | experimental |
| Maintainer | Martin Dybdal <dybber@dybber.dk> |
Foreign.OpenCL.Bindings.CommandQueue
Description
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
- createCommandQueue :: Context -> DeviceID -> [CommandQueueProperties] -> IO CommandQueue
- queueContext :: CommandQueue -> IO Context
- queueDevice :: CommandQueue -> IO DeviceID
- queueProperties :: CommandQueue -> IO [CommandQueueProperties]
- flush :: CommandQueue -> IO ()
Documentation
Arguments
| :: Context | The |
| -> DeviceID | The |
| -> [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)