cuda-oxide
is a safe wrapper for CUDA. With cuda-oxide
you can execute and coordinate CUDA kernels.
cuda-oxide
does not offer any safety on the GPU-side of writing CUDA code. It doesn't compile Rust to PTX. cuda-oxide
offers general CPU-level safety working with the CUDA library and best-availability safety for working with GPU buffers and objects.
Examples of things currently considered safe:
* Reading from an uninitialized GPU buffer into host memory
* Some invalid libcuda
operations that will cause libcuda
to stop accepting any API calls
* Setting various attributes that can have side effects for an entire device
* Writing to read-only device memory
See the examples
directory for usage examples.