Crate ocl [] [src]

| GitHub

Rust implementation of OpenCL™.

This documentation is generally built from the dev branch and may be newer than what is on crates.io and the master branch.

Documentation is very much a work in progress, as is the library itself. Please help by filing an issue about unclear and/or incomplete documentation and it will be addressed.

An explanation of how dimensions and sizes of buffers and work queues are intended to be used will be coming as soon as a few more things are ironed out.

Low Level Interfaces

For lower level interfaces and to use OpenCL features that have not yet been implemented, see the raw and cl_h modules (still poorly documented... use the source, Luke).

Library Wide Panics

Many operations will panic upon any OpenCL error [UPDATE: Error handling is in a state of transition, some things panic, some return results]. More work needs to be done evaluating which errors are easily uncovered during development and are therefore better off continuing to panic such as invalid kernel code or invalid sizes of things, and which errors are more run-timeish and should be returned in a Result.

Help Wanted

Please help complete any functionality you may need by filing an issue or creating a pull request.


“OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.”

Modules

cl_h

Rust bindings for the OpenCL ABI

raw

Thin wrappers for the OpenCL FFI functions and types.

util

Utility and debugging functions.

Structs

Buffer

An OpenCL buffer with an optional built-in vector.

Context

An OpenCL context for a particular platform and set of device types.

EventList

A list of OpenCL events which contain status information about the command that created them. Used to coordinate the activity of multiple commands.

Image

[WORK IN PROGRESS][UNTESTED][UNUSED] An OpenCL Image.

Kernel

An OpenCL kernel.

ProQue

A chimera of the Program, Queue, and (optionally) Context types.

ProQueBuilder

A builder for ProQue.

Program

An OpenCL program, sometimes referred to as a build.

ProgramBuilder

Compilation options for building an OpenCL program. Used when creating a new Program.

Queue

An OpenCL command queue.

Enums

BuildOpt

A build option intended for use either by the compiler as a command line switch or for inclusion at the top of the final build source code.

Error

An enum containing either a String or one of several other standard error types.

SimpleDims

A simple implementation of a type specifying the sizes of up to three dimensions.

WorkDims

Defines the amount of work to be done by a kernel for each of up to three dimensions.

Traits

BufferDims

A type which has dimensional properties allowing it to be used to define the size of buffers and work sizes.

BufferTest
OclNum

A number compatible with OpenCL.

Type Definitions

Result

ocl::Error result type.