Struct blaze_rs::context::CommandQueue
source · pub struct CommandQueue { /* private fields */ }
Expand description
A command queue with extra capabilities to a raw OpenCL one.
Implementations§
source§impl CommandQueue
impl CommandQueue
sourcepub fn new(inner: RawCommandQueue) -> Self
pub fn new(inner: RawCommandQueue) -> Self
Creates a new command queue from a raw one.
sourcepub fn size(&self) -> usize
pub fn size(&self) -> usize
Returns the current size of the queue. The size of the queue is defined as the number of enqueued events on it that haven’t completed yet. Whilst this method is safe, it’s result should be considered ephemeral.
sourcepub unsafe fn enqueue_unchecked<'a, 'b, 'r: 'b, E: 'b + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>, C: 'a + Consumer>(
&'r self,
supplier: E,
consumer: C
) -> Result<Event<C>>
pub unsafe fn enqueue_unchecked<'a, 'b, 'r: 'b, E: 'b + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>, C: 'a + Consumer>( &'r self, supplier: E, consumer: C ) -> Result<Event<C>>
Enqueues a new event without checking if the event’s consumer has a safe lifetime.
sourcepub unsafe fn enqueue_phantom_unchecked<'a, 'r: 'a, T, E: 'a + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>>(
&'r self,
supplier: E
) -> Result<PhantomEvent<T>>
pub unsafe fn enqueue_phantom_unchecked<'a, 'r: 'a, T, E: 'a + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>>( &'r self, supplier: E ) -> Result<PhantomEvent<T>>
Enqueues a new phantom event without checking if the event’s consumer has a safe lifetime.
sourcepub fn enqueue<'b, 'r: 'b, E: 'b + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>, C: 'static + Consumer>(
&'r self,
supplier: E,
consumer: C
) -> Result<Event<C>>
pub fn enqueue<'b, 'r: 'b, E: 'b + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>, C: 'static + Consumer>( &'r self, supplier: E, consumer: C ) -> Result<Event<C>>
Enqueues a new event with a consumer with 'static
lifetime.
The 'static
lifetime ensures the compiler that the consumer is safe to be called at any time in the lifetime of the program.
sourcepub fn enqueue_noop<'a, 'r: 'a, E: 'a + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>>(
&'r self,
supplier: E
) -> Result<NoopEvent>
pub fn enqueue_noop<'a, 'r: 'a, E: 'a + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>>( &'r self, supplier: E ) -> Result<NoopEvent>
Enqueues a new noop event.
sourcepub fn enqueue_phantom<'a, 'r: 'a, T: 'static, E: 'a + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>>(
&'r self,
supplier: E
) -> Result<PhantomEvent<T>>
pub fn enqueue_phantom<'a, 'r: 'a, T: 'static, E: 'a + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>>( &'r self, supplier: E ) -> Result<PhantomEvent<T>>
Enqueues a new phantom event with a 'static
lifetime. The 'static
lifetime ensures the compiler that the consumer is safe to be called at any time in the lifetime of the program.
Methods from Deref<Target = RawCommandQueue>§
pub fn id(&self) -> cl_command_queue
pub unsafe fn retain(&self) -> Result<()>
sourcepub fn context(&self) -> Result<RawContext>
pub fn context(&self) -> Result<RawContext>
Return the context specified when the command-queue is created.
sourcepub fn device(&self) -> Result<RawDevice>
pub fn device(&self) -> Result<RawDevice>
Return the device specified when the command-queue is created.
sourcepub fn reference_count(&self) -> Result<u32>
pub fn reference_count(&self) -> Result<u32>
Return the command-queue reference count.
sourcepub fn properties(&self) -> Result<CommandQueueProperties>
pub fn properties(&self) -> Result<CommandQueueProperties>
Return the currently specified properties for the command-queue.
sourcepub fn queue_properties(&self) -> Result<QueueProperties>
Available on crate feature cl3
only.
pub fn queue_properties(&self) -> Result<QueueProperties>
cl3
only.Return the properties argument specified in creation.
sourcepub fn size(&self) -> Result<u32>
Available on crate feature cl2
only.
pub fn size(&self) -> Result<u32>
cl2
only.Return the size of the device command-queue. To be considered valid for this query, command_queue must be a device command-queue.
sourcepub fn device_default(&self) -> Result<RawCommandQueue>
Available on crate feature cl2_1
only.
pub fn device_default(&self) -> Result<RawCommandQueue>
cl2_1
only.Return the current default command queue for the underlying device.
sourcepub fn flush(&self) -> Result<()>
pub fn flush(&self) -> Result<()>
Issues all previously queued OpenCL commands in a command-queue to the device associated with the command-queue.
sourcepub fn finish(&self) -> Result<()>
pub fn finish(&self) -> Result<()>
Blocks the current thread until all previously queued OpenCL commands in a command-queue are issued to the associated device and have completed.
sourcepub fn barrier(&self, wait: WaitList<'_>) -> Result<RawEvent>
Available on crate feature cl1_2
only.
pub fn barrier(&self, wait: WaitList<'_>) -> Result<RawEvent>
cl1_2
only.A synchronization point that enqueues a barrier operation.
If the wait list is empty, then this particular command waits until all previous enqueued commands to command_queue have completed.
The barrier command either waits for a list of events to complete, or if the list is empty it waits for all commands previously enqueued in the queue to complete before it completes.
This command blocks command execution, that is, any following commands enqueued after it do not execute until it completes.
This command returns an event which can be waited on, i.e. this event can be waited on to insure that all events either in the wait list or all previously enqueued commands,
queued before this command to the command queue, have completed.
Trait Implementations§
source§impl Clone for CommandQueue
impl Clone for CommandQueue
source§fn clone(&self) -> CommandQueue
fn clone(&self) -> CommandQueue
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more