Struct ocl::ProQue [] [src]

pub struct ProQue {
    // some fields omitted
}

An all-in-one chimera of the Program, Queue, Context and (optionally) SpatialDims types.

Handy when you only need a single context, program, and queue for your project or when using a unique context and program on each device.

All ProQue functionality is also provided separately by the Context, Queue, Program, and SpatialDims types.

Creation

There are two ways to create a ProQue:

  1. [Recommended] Use ProQue::builder or ProQueBuilder::new().
  2. Call ::new and pass pre-created components.

Destruction

Now handled automatically. Freely use, store, clone, discard, share among threads... put some on your toast... whatever.

Methods

impl ProQue
[src]

fn builder() -> ProQueBuilder

Returns a new ProQueBuilder.

This is the recommended way to create a new ProQue.

Calling ProQueBuilder::build() will return a new ProQue.

fn new<D: Into<SpatialDims>>(context: Context, queue: Queue, program: Program, dims: Option<D>) -> ProQue

Creates a new ProQue from individual parts.

Use builder unless you know what you're doing. Creating parts which are from different devices or contexts will cause errors later on.

fn create_kernel(&self, name: &str) -> OclResult<Kernel>

Creates a kernel with pre-assigned dimensions.

fn create_buffer<T: OclPrm>(&self) -> OclResult<Buffer<T>>

Returns a new buffer

The default dimensions for this ProQue will be used.

Errors

This ProQue must have been pre-configured with default dimensions to use this method. If not, set them with ::set_dims, or just create a buffer using Buffer::new().

fn set_dims<S: Into<SpatialDims>>(&mut self, dims: S)

Sets the default dimensions used when creating buffers and kernels.

fn max_wg_size(&self) -> usize

Returns the maximum workgroup size supported by the device associated with this ProQue.

[UNSTABLE]: Evaluate usefulness.

fn queue(&self) -> &Queue

Returns a reference to the queue associated with this ProQue.

fn context(&self) -> &Context

Returns the contained context.

fn program(&self) -> &Program

Returns the current program build.

fn dims(&self) -> &SpatialDims

Returns the current dims or panics.

[UNSTABLE]: Evaluate which 'dims' method to keep. Leaning towards this version at the moment.

fn dims_result(&self) -> OclResult<&SpatialDims>

Returns the current dims or an error.

[UNSTABLE]: Evaluate which 'dims' method to keep. Leaning towards the above, panicing version at the moment.

Methods from Deref<Target=Queue>

fn finish(&self)

Blocks until all commands in this queue have completed before returning.

fn core_as_ref(&self) -> &CommandQueueCore

Returns a reference to the core pointer wrapper, usable by functions in the core module.

fn context_core_as_ref(&self) -> &ContextCore

Returns a reference to the core pointer wrapper of the context associated with this queue, usable by functions in the core module.

fn device(&self) -> &Device

Returns the OpenCL device associated with this queue.

fn info(&self, info_kind: CommandQueueInfo) -> CommandQueueInfoResult

Returns info about this queue.

Trait Implementations

impl Debug for ProQue
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl Clone for ProQue
[src]

fn clone(&self) -> ProQue

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl MemLen for ProQue
[src]

fn to_len(&self) -> usize

Returns the exact number of elements of a volume of memory (equivalent to Vec::len()). Read more

fn to_len_padded(&self, incr: usize) -> usize

Returns the length of a volumue of memory padded to the next multiple of incr. Read more

fn to_lens(&self) -> [usize; 3]

Returns the exact lengths of each dimension of a volume of memory.

impl WorkDims for ProQue
[src]

fn dim_count(&self) -> u32

Returns the number of dimensions defined.

fn to_work_size(&self) -> Option<[usize; 3]>

Returns an array representing the amount of work to be done by a kernel. Read more

fn to_work_offset(&self) -> Option<[usize; 3]>

Returns an array representing the offset of a work item or memory location. Read more

impl Deref for ProQue
[src]

type Target = Queue

The resulting type after dereferencing

fn deref(&self) -> &Queue

The method called to dereference a value