1 unstable release

Uses new Rust 2024

0.5.0 Apr 23, 2025

#1391 in Math

Download history 733/week @ 2025-04-20 757/week @ 2025-04-27

1,490 downloads per month
Used in 29 crates (3 directly)

MIT/Apache

195KB
4.5K 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.5MB
~111K SLoC