18 releases (5 breaking)
Uses new Rust 2024
| new 0.10.0 | May 7, 2026 |
|---|---|
| 0.10.0-pre.2 | Mar 2, 2026 |
| 0.9.0-pre.6 | Dec 18, 2025 |
| 0.9.0-pre.3 | Nov 24, 2025 |
| 0.6.0 | Jul 18, 2025 |
#16 in #opcode
69,630 downloads per month
Used in 301 crates
(5 directly)
470KB
10K
SLoC
CubeCL Intermediate Representation
The intermediate representation produced by the CubeCL frontend, and consumed by the backends.
Reflection
Operations must implement OperationReflect to allow for reflecting the OpCode and argument list.
In most cases this can be derived, but for operations that take arguments other than Variable,
the OperationCode derive is available. This derive generates only the opcode and a corresponding
match, while leaving the remaining reflection up to manual implementation.
To make a parameter struct reflectable, use the OperationArgs derive.
Mathematical properties
Mathematical properties like pure and commutative are marked directly on each operation using
the `#[operation] helper attribute.
Dependencies
~6.5–9MB
~144K SLoC