Shared IR
One place to optimize & audit.
Because making a model work isn’t enough—it needs to behave the same, everywhere, and explainably. You’re not just chasing accuracy; you’re chasing determinism, traceability, and portability.
We respect your privacy. Unsubscribe any time.
The DSL parses into a graph-based IR. Execution adapters lower IR to the chosen backend with minimal impedance.
Fuse is speaking
Write the base relations as sparse tensor facts.
Compose the Aunt rule via einsum + step with shape validation.
Project embeddings and learn the relation tensor W.
Blend rule outputs with relation scores.
Minimize loss and prepare artifacts.
Define compact tensor equations, parse to an IR, optimize, and execute across backends with consistent semantics.
One place to optimize & audit.
Identical semantics across NumPy, Torch, JAX.
Shape checks, fusion, and plan‑level transforms.
pip install fuse
uv add fuse
Fuse lowers to native kernels; the IR schedules matmul/softmax paths that vendors optimize. You keep equations high‑level while traces ensure no extra copies.
Comp = softmax(Q Kᵀ / sqrt(Dk))
# emits fused-kernel path on backend
The IR is differentiable; backends reuse their autograd/JVP machinery. We expose checks to assert shapes and stop gradients where intended.
dLoss/dW = grad(Loss, W)
Emit Torch modules with the same shapes and parameters. Keep training loops and optimizers unchanged.
fuse emit --target=torch --module AttnBlock
Log attention maps and entropy with one line at the IR. No manual hooks or tensor cloning required.
log('H', entropy(Comp[b,h,p,p′]))
Start with one block; keep the rest in PyTorch/JAX. Interfaces are tensors in/tensors out, so you can land and expand safely.
attn = fuse_block(stream) # drop-in within your model
loss = criterion(attn, target)
Be first to try Fuse. Only major updates and launches, no noise.