Skip to main content

CudaDtype

Trait CudaDtype 

Source
pub trait CudaDtype:
    AccelDtype
    + DeviceRepr
    + ValidAsZeroBits {
    // Required methods
    fn cuda_data_type() -> cudaDataType_t;
    fn cublas_compute_type() -> cublasComputeType_t;
    fn cuda_type_name() -> &'static str;
    fn cudnn_data_type() -> cudnnDataType_t;
    fn nccl_data_type() -> ncclDataType_t;
}
Expand description

CUDA-specific layer over AccelDtype.

The cudarc bounds (DeviceRepr, ValidAsZeroBits) are part of the supertrait list so dispatch payloads can call stream.alloc_zeros::<T> behind a single T: CudaDtype bound.

Required Methods§

Source

fn cuda_data_type() -> cudaDataType_t

Source

fn cublas_compute_type() -> cublasComputeType_t

Source

fn cuda_type_name() -> &'static str

CUDA C++ type name for NVRTC source generation.

Source

fn cudnn_data_type() -> cudnnDataType_t

Source

fn nccl_data_type() -> ncclDataType_t

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl CudaDtype for f32

Source§

fn cuda_data_type() -> cudaDataType_t

Source§

fn cublas_compute_type() -> cublasComputeType_t

Source§

fn cuda_type_name() -> &'static str

Source§

fn cudnn_data_type() -> cudnnDataType_t

Source§

fn nccl_data_type() -> ncclDataType_t

Source§

impl CudaDtype for f64

Source§

fn cuda_data_type() -> cudaDataType_t

Source§

fn cublas_compute_type() -> cublasComputeType_t

Source§

fn cuda_type_name() -> &'static str

Source§

fn cudnn_data_type() -> cudnnDataType_t

Source§

fn nccl_data_type() -> ncclDataType_t

Source§

impl CudaDtype for i8

Source§

fn cuda_data_type() -> cudaDataType_t

Source§

fn cublas_compute_type() -> cublasComputeType_t

Source§

fn cuda_type_name() -> &'static str

Source§

fn cudnn_data_type() -> cudnnDataType_t

Source§

fn nccl_data_type() -> ncclDataType_t

Source§

impl CudaDtype for i32

Source§

fn cuda_data_type() -> cudaDataType_t

Source§

fn cublas_compute_type() -> cublasComputeType_t

Source§

fn cuda_type_name() -> &'static str

Source§

fn cudnn_data_type() -> cudnnDataType_t

Source§

fn nccl_data_type() -> ncclDataType_t

Source§

impl CudaDtype for i64

Source§

fn cuda_data_type() -> cudaDataType_t

Source§

fn cublas_compute_type() -> cublasComputeType_t

Source§

fn cuda_type_name() -> &'static str

Source§

fn cudnn_data_type() -> cudnnDataType_t

Source§

fn nccl_data_type() -> ncclDataType_t

Source§

impl CudaDtype for u8

Source§

fn cuda_data_type() -> cudaDataType_t

Source§

fn cublas_compute_type() -> cublasComputeType_t

Source§

fn cuda_type_name() -> &'static str

Source§

fn cudnn_data_type() -> cudnnDataType_t

Source§

fn nccl_data_type() -> ncclDataType_t

Source§

impl CudaDtype for u32

Source§

fn cuda_data_type() -> cudaDataType_t

Source§

fn cublas_compute_type() -> cublasComputeType_t

Source§

fn cuda_type_name() -> &'static str

Source§

fn cudnn_data_type() -> cudnnDataType_t

Source§

fn nccl_data_type() -> ncclDataType_t

Source§

impl CudaDtype for u64

Source§

fn cuda_data_type() -> cudaDataType_t

Source§

fn cublas_compute_type() -> cublasComputeType_t

Source§

fn cuda_type_name() -> &'static str

Source§

fn cudnn_data_type() -> cudnnDataType_t

Source§

fn nccl_data_type() -> ncclDataType_t

Implementors§