Expand description
RunMat Accelerate: GPU Acceleration Abstraction Layer
Goals:
- Provide a backend-agnostic API surface that maps RunMat operations to GPU kernels.
- Support multiple backends via features (CUDA, ROCm, Metal, Vulkan, OpenCL, wgpu).
- Allow zero-copy interop with
runmat-builtins::Matrixwhere possible. - Defer actual kernel authoring to backend crates/modules; this crate defines traits and wiring.
This is scaffolding only; implementations will land after interpreter/JIT semantics are complete.
Modules§
Structs§
- Accelerator
- High-level façade for accelerated operations, falling back to
runmat-runtime. - Device
Info - Device descriptor used for selection and capabilities query.
- Planner
- Planner determines whether to execute on CPU or a selected backend. This will eventually consult sizes, heuristics, and device availability.
Enums§
- Device
Kind - High-level device kind. Concrete selection is provided by backend.
- Execution
Target
Traits§
- Accelerate
Backend - Core backend interface that concrete backends must implement.
- Buffer
Handle - Abstract buffer that may reside on device or be host-pinned.
- Device
Matrix - Abstract matrix allocated on a device backend.