Expand description
CudaDtype — CUDA-side dtype mappings and capability markers.
The backend-agnostic AccelDtype trait (in atomr-accel) names
the dtype and gives identity values. CudaDtype adds the cudarc-
enum mappings every kernel actor needs:
cuda_data_type—cudaDataType_t(consumed by cuBLAS, cuBLASLt, cuSPARSE, cuSOLVER, cuTENSOR).cublas_compute_type— the naturalcublasComputeType_tfor matmul accumulation.cudnn_data_type—cudnnDataType_t(cuDNN tensor descriptor element type), gated oncudnn.nccl_data_type—ncclDataType_t(collective-op element type), gated onnccl.cuda_type_name— CUDA C++ type name ("float","__half","__nv_bfloat16", …) for NVRTC kernel source generation.
Capability markers (GemmSupported, CudnnSupported, …) are
the compile-time gate keeping operations from being dispatched
against unsupported dtypes — BlasMsg::gemm::<i64>(...) does not
compile because i64: GemmSupported has no impl.
Structs§
- C32
- Local fp8 / fp4 wrappers (
#[repr(transparent)]overu8) that satisfy cudarc’s orphan-rule constraint forunsafe impl DeviceRepr. Convertible from/to the backend-agnosticatomr_accel::dtype::*equivalents. 64-bit interleaved complex ({re, im}of f32). Layout matchescufft_sys::float2andnumpy.complex64. Phase 1.5++. - C64
- 128-bit interleaved complex (
{re, im}of f64). Layout matchescufft_sys::double2andnumpy.complex128. Phase 1.5++.
Enums§
- DType
- Re-export
atomr_accel::DTypeso existingcrate::dtype::DTypeimports insideatomr-accel-cuda(added by Phase 0.4) keep working without changing every call site. Compact discriminant forAccelDtype::KIND. - DType
Kind - Alias used by
BlasLtDispatch::dtype_kindand other Phase 1 dispatchers. Compact discriminant forAccelDtype::KIND.
Traits§
- Accel
Dtype - Re-export so
crate::dtype::AccelDtyperesolves for actor modules that prefer the unified import path. Marker for any numeric type that can be a typed device buffer element across atomr-accel backends. - Axpy
DotNrm2 Supported - Cuda
Dtype - CUDA-specific layer over
AccelDtype. - Cudnn
Supported - Capability marker — type may be a cuDNN tensor element.
- FftSupported
- Capability marker — type may be a cuFFT element.
- Geam
Supported - Gemm
Supported - Capability marker — type may be a cuBLAS GEMM operand.
- Gemv
Supported - GerSupported
- Nccl
Reduce Supported - Capability marker — type may be an NCCL collective-op element.
- RngFloat
Supported - Capability marker — type may be a cuRAND distribution element
(
Selfis one of the float dtypes accepted bycurandGenerate*). - RngInt
Supported - Capability marker — cuRAND integer-fill operand.
curandGenerateproduces u32,curandGenerateLongLongproduces u64. Used byDiscreteand raw-bit paths. - Solver
Supported - Capability marker — type may be a cuSOLVER dense factorization element (real or complex float).
- Sparse
Index - Phase 4 cuSPARSE index-type marker. Only
i32andi64are representable cuSPARSE row/col index dtypes. - Sparse
Supported - Capability marker — type may be a cuSPARSE SpMV/SpMM/SpGEMM element.
- Syrk
Supported - Tensor
Supported - Capability marker — type may be a cuTENSOR contraction operand.
- Trsm
Supported