Roadmap

Current Status

Raven is in alpha. The core stack (Nx -> Rune -> Kaun) works end-to-end: we have successfully trained GPT-2 on CPU using the full Raven stack.

Library Status What works
nx Alpha Full NumPy-like API, linear algebra, FFT, I/O (npy, images)
rune Alpha Reverse and forward-mode AD, vmap, gradient checking
kaun Alpha Layers, optimizers, training loops, HuggingFace Hub, MNIST/GPT-2 examples
brot Alpha All 5 algorithms, full pipeline, HF tokenizer.json compat, training
talon Alpha DataFrames, row operations, aggregations, CSV I/O
hugin Alpha 2D/3D plots, scatter, bar, contour, images
fehu Alpha Environments (CartPole, GridWorld, MountainCar), vectorized envs, GAE
sowilo Alpha Geometric transforms, filters, edge detection, morphological ops
quill Alpha Interactive REPL, notebook TUI and web frontend, batch eval, watch mode

APIs will change. Bug reports and feedback are welcome.

Beta: JIT Compilation & Performance

The beta cycle focuses on JIT compilation with performance close to PyTorch.

  • Integrate tolk (an OCaml port of tinygrad) as a JIT transformation in Rune
  • Target CPU, CUDA, Metal, OpenCL, and HIP
  • Kernel fusion and optimization
  • Benchmark against PyTorch on standard workloads

V1: Production-Ready Training & Deployment

V1 makes Raven production-ready: train models, deploy them as unikernels or static binaries.

Training:

  • Gradient accumulation, mixed precision, gradient checkpointing
  • Flash attention for efficient transformer training
  • ONNX import for PyTorch model portability
  • Parallel data loading, layer completions

Deployment:

  • AOT compilation to standalone binaries (CPU and GPU)
  • Inference engine with KV cache, continuous batching, and PagedAttention
  • Post-training quantization (INT8/INT4)
  • MirageOS unikernel deployment -- tolk AOT generates all compute at compile time, no BLAS dependency, enabling deployment as unikernels