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]

[src]

Returns a new ProQueBuilder.

This is the recommended way to create a new ProQue.

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

[src]

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.

[src]

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

[src]

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.

[src]

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.

[src]

Sets the default dimensions used when creating buffers and kernels.

[src]

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

[UNSTABLE]: Evaluate usefulness.

[src]

Returns a reference to the queue associated with this ProQue.

[src]

Returns the contained context.

[src]

Returns the current program build.

[src]

Returns the current dims or panics.

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

[src]

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>

[src]

Issues all previously queued OpenCL commands to the device.

[src]

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

[src]

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

[src]

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

[src]

Returns a copy of the Context associated with this queue.

[src]

Returns the OpenCL device associated with this queue.

[src]

Returns the cached device version.

[src]

Returns info about this queue.

Trait Implementations

impl Clone for ProQue
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for ProQue
[src]

[src]

Formats the value using the given formatter. Read more

impl MemLen for ProQue
[src]

[src]

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

[src]

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

[src]

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

impl WorkDims for ProQue
[src]

[src]

Returns the number of dimensions defined.

[src]

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

[src]

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.

[src]

Dereferences the value.