vkML 0.1.0

What vkML does today, counted from the tree at build time. Every number on this page is generated; none of it is typed.

114operators
113run on Vulkan
48gradient rules
25compute shaders
30documented classes

Operators by category

CategoryOperatorsOn Vulkan
Creation1111
Element-wise2222
Arithmetic77
Comparison77
Reduction76
Shape & indexing99
Linear algebra & NN1010
Losses55
Autograd & execution55
Serialization44
Devices & introspection2222
Explaining what the engine chose55

Data types

Five, on both backends: float32, float16, int32, int64 and bool. f32→f16 narrowing is done in software rather than left to OpFConvert, whose rounding mode SPIR-V leaves implementation-defined — so a narrowed value is the same bits on every driver.

Devices

Any device exposing Vulkan 1.3 compute, plus the CPU backend. The CPU one is the correctness oracle the GPU is checked against, not a fallback: it is always built, always available, and every Vulkan result is compared against it.

Autograd

48 of 67 graph operations carry a gradient rule. The remaining 19 are listed on Current limitations with the reason for each — most of them are leaves or comparisons, where a gradient is not a thing that exists.

Serialization

Checkpoints are a zip of NumPy arrays plus a JSON manifest, loaded with allow_pickle=False, written to a temporary file and renamed so an interrupted save cannot leave a half-written checkpoint in place. A PyTorch state_dict loads without translation.

vkML — Vulkan-first machine learning in C++20. Apache-2.0. Signatures on this page are generated from the installed module.