Expand description
KernelOp — marker trait for typed kernel-op envelopes.
Each backend ships concrete actors (BlasActor, CudnnActor,
…) whose message enums carry op-specific payloads. The marker
trait here lets portable code parameterize over “any op the
backend supports”, without committing to a specific message set.
Backends that share an op vocabulary (e.g. cuBLAS’ SGEMM has a
direct equivalent in hipBLAS, rocBLAS, MPS) are encouraged to
implement KernelOp for a shared envelope so portable code can
migrate between vendors without rewriting call sites.
Structs§
- Gemm
Shape - Generic GEMM payload. Backends with cuBLAS-equivalent libraries
(cuBLAS, hipBLAS, rocBLAS, MPS) all map this to their underlying
SGEMM. The matrices are referred to by backend-typed handles
(
AccelRef<f32, B>); storage layout is column-major to match the BLAS convention.
Enums§
- FftKind
- Generic dense FFT payload. Maps to cuFFT, rocFFT, MPS Graph FFT, or VkFFT depending on the backend.
Traits§
- Kernel
Op - Marker for any typed op envelope. The default impl is empty — the trait exists to enable bound-by-name patterns in generic pipelines without imposing a specific shape on the op.