Module cuda

Source
Expand description

The CUDA specific implementation of a Buffer, Device, Program and Kernel.

The current operation mode is synchronuous, in order to have higher safety gurarantees. All operations happen on a single stream, which is synchronized after each operation. This is a similar behaviour to CUDA’s default stream. The default stream isn’t used for two reasons:

  1. RustaCUDA doesn’t expose a higher level function to launch a kernel on the default stream
  2. There was a bug, when the default stream was used implicitly via RustaCUDA’s synchronuous copy methods. To prevent such kind of bugs, be explicit which stream is used.

Structs§

Buffer
A Buffer to be used for sending and receiving data to/from the GPU.
Device
CUDA specific device.
Kernel
A kernel that can be executed.
Program
Abstraction that contains everything to run a CUDA kernel on a GPU.

Traits§

KernelArgument
Abstraction for kernel arguments.