Struct ocl::ProQue[][src]

pub struct ProQue { /* 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]

Returns a new ProQueBuilder.

This is the recommended way to create a new ProQue.

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

Creates a new ProQue from individual parts.

Use ::builder instead unless you know what you're doing. Creating from components associated with different devices or contexts will cause errors later on.

Returns a new KernelBuilder with the name, program, default queue, and global work size pre-configured.

Use ::arg to specify arguments and ::build to build the kernel.

Example

This example is not tested
let kernel = pro_que.kernel_builder("add")
   .arg(&buffer)
   .arg(&10.0f32)
   .build()?;

See KernelBuilder documentation for more

Returns a new buffer.

The default dimensions and queue from this ProQue will be used.

The buffer will be filled with zeros upon creation, blocking the current thread until completion.

Use Buffer::builder() (or BufferBuilder::new()) for access to the full range of buffer creation options.

Errors

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

Returns a new BufferBuilder with the default queue and length pre-configured.

Use .fill_val(Default::default()) to fill buffer with zeros.

Use .build() to create the buffer.

Panics

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

Sets the default dimensions used when creating buffers and kernels.

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

[UNSTABLE]: Evaluate usefulness.

Returns a reference to the queue associated with this ProQue.

Returns the contained context.

Returns the current program build.

Returns the current dims or panics.

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

Returns the current dims or an error.

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

Methods from Deref<Target = Queue>

Issues all previously queued OpenCL commands to the device.

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

Enqueues a marker command which waits for either a list of events to complete, or all previously enqueued commands to complete.

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

Returns a copy of the Context associated with this queue.

Returns the OpenCL device associated with this queue.

Returns the cached device version.

Returns info about this queue.

Trait Implementations

impl Clone for ProQue
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for ProQue
[src]

Formats the value using the given formatter. Read more

impl MemLen for ProQue
[src]

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

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

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

impl WorkDims for ProQue
[src]

Returns the number of dimensions defined.

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

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

impl Deref for ProQue
[src]

The resulting type after dereferencing.

Dereferences the value.

Auto Trait Implementations

impl Send for ProQue

impl Sync for ProQue