← Infinity Tech Stack
VOID 1B / 3B · RUST & CUDA FROM-SCRATCH ENGINE

VOID 1B MIXTURE OF EXPERTS

A hand-written, from-scratch LLM training engine built entirely in Rust and CUDA. Features a 12-Expert Mixture of Experts (MoE) Gateway Router, zero PyTorch dependencies, custom BPE tokenizer, and self-evolving architecture growth.

12-Expert MoECustom BPE TokenizerRust & CUDAZero PyTorch32K+ LOC9,500 tok/s8 Model PresetsSelf-Evolving242 Tests Passed
VOID 1B MOE ROUTER12 DOMAIN EXPERTSBPE TOKENIZER FROM SCRATCHGEMMA-3 QK-NORMFLASH ATTENTION KERNELSSPIKING NEURAL NET FFNARCHITECTURE GROWTHCUDA NVRTC DISPATCHZERO PYTORCH32K LOC9,500 TOK/S242 TESTSVOID 1B MOE ROUTER12 DOMAIN EXPERTSBPE TOKENIZER FROM SCRATCHGEMMA-3 QK-NORMFLASH ATTENTION KERNELSSPIKING NEURAL NET FFNARCHITECTURE GROWTHCUDA NVRTC DISPATCHZERO PYTORCH32K LOC9,500 TOK/S242 TESTS
0+
Lines of Code
0 Experts
MoE Architecture
0
Tok/s GPU Throughput

12-Expert Mixture of Experts (MoE) Architecture

Void 1B Gateway Router

Void 1B dispatches incoming tokens through a high-performance Gateway Router into 12 domain-specialized experts (80M to 125M parameters each). Top-k gating routes tokens with zero auxiliary loss, combining output vectors in the Synthesis Layer.

🔬

Technical Novelties & Architectural Breakthroughs

From-Scratch Innovation

Void is engineered from pure Rust and CUDA primitives. Below are the key architectural novelties hand-written into the engine:

Tokenizationbpe.rs (306 LOC)

From-Scratch BPE Tokenizer Engine

Custom Byte-Pair Encoding implementation hand-written in Rust. Builds 32,000 token vocabularies from raw corpus, computes subword merge frequency tables, and handles byte-level fallback for zero out-of-vocab errors.

32,000 Vocab Size
Subword Merging Rules
Byte-Level Fallback
Parallel CPU Encoding
Architecturemoe.rs (537 LOC)

Gradient-Checked 12-Expert MoE Router

DeepSeek-style sparse activation engine with 12 specialized experts. Uses auxiliary-loss-free load balancing and Top-k gating to route tokens dynamically without compute waste.

12 Specialized Experts
Aux-Free Balance Loss
Top-1 / Top-2 / Top-4 Gating
Gradient-Checked Backward
Attentionattention.rs (514 LOC)

FlashAttention & Gemma-3 QK-Norm

Grouped Query Attention (GQA) with Gemma-3 style QK-Normalization to bound attention logit growth, paired with RoPE positional encodings and custom CUDA FlashAttention kernels.

Gemma-3 QK-Norm
RoPE Encodings
FlashAttention CUDA Kernel
KV Cache Management
Neuromorphicspiking_ffn.rs (368 LOC)

Spiking Neural Network (SNN) FFN

Experimental Leaky Integrate-and-Fire (LIF) spiking neuron FFN block with surrogate gradient backward passes for ultra-low power neuromorphic computing research.

LIF Spiking Neurons
Surrogate Gradients
Membrane Decay Model
Neuromorphic Benchmarks
Scalingcheckpoint.rs (146 LOC)

Architecture Growth & Weight Transfer

Expands trained checkpoints into larger model topologies (e.g. 125M -> 300M -> 1B MoE) by inserting near-identity initialized layers, preserving existing learned representations.

Zero-Retrain Expansion
Near-Identity Layer Init
Checkpoint Preservation
Seamless Topology Scaling
GPU Runtimedispatch.rs (969 LOC)

Dynamic CUDA NVRTC Kernel Dispatch

Safe Rust bindings via cudarc to dynamically compile CUDA C kernels into PTX bytecode at runtime, featuring PTX caching and automatic cuBLAS SGEMM/HGEMM dispatch.

Runtime PTX Compilation
cuBLAS HGEMM FP16
Zero-Copy Device Buffer
NVRTC Dynamic JIT
32,480+
Lines of Code
87
Source Files
12
MoE Experts
80M-125M each
32,000
Vocab Size
BPE tokens
RTX 5060
GPU
68% VRAM · 60% Util
9,500
Throughput
tok/s (GPU)
🧠

Transformer & MoE Architecture

GPT-Style + Sparse MoE Pipeline

Void 1B processes tokens through an 8-stage forward execution pipeline. Each layer is engineered from scratch in pure Rust & CUDA — combining Rotary Positional Embeddings, Gemma-3 QK-Norm attention bounding, and dynamic Mixture-of-Experts routing.

d_model
768
Embedding Hidden Dimension
n_layers
12
Transformer Blocks
moe_experts
12
Domain-Specialized Experts
top_k_routing
Top-2 / Top-4
Dynamic Sparse Routing
max_seq_len
2,048
Context Window Length
rope_base
10,000
Rotary Theta Frequency
vocab_size
32,768
BPE Subword Vocabulary
ffn_dim
3,072
SwiGLU Expansion Dim
STAGE01
BPE Tokenizer & Ingestion EngineIngestion
bpe.rs (306 LOC)

Hand-written byte-pair encoding pipeline. 32,000 subword vocabulary with byte-level fallback for 0% out-of-vocab errors.

32,000 Vocab SizeParallel CPU EncodingByte-Level Fallback
STAGE02
Token Embedding + RoPE EncodingsPositioning
attention.rs / ops.rs

Lookup d_model=768 dense embeddings coupled with Rotary Position Encodings (RoPE, θ=10,000) for relative positional attention awareness.

d_model = 768RoPE Base = 10,000Zero-Copy Device Buffer
STAGE03
Gateway Sparse Router (MoE Dispatch)Routing
moe.rs (537 LOC)

DeepSeek-style auxiliary-loss-free gating network. Dynamically routes each token to Top-2 / Top-4 out of 12 domain-specialized experts.

Aux-Free Load Balance12 Domain ExpertsTop-2 / Top-4 Gating
STAGE04
12 Domain-Specialized Experts ExecutionSpecialization
moe.rs / spiking_ffn.rs

12 parallel neural experts (80M to 125M params each) executing SwiGLU FFNs or Spiking LIF neuron blocks based on router dispatch.

SwiGLU FFN (3,072 Dim)LIF Spiking NeuronsGradient-Checked Backprop
STAGE05
FlashAttention & Gemma-3 QK-NormAttention
attention.rs / kernels.rs

Multi-Head / Grouped Query Attention with Gemma-3 QK-Normalization to prevent logit explosion during deep step progression.

Gemma-3 QK-NormCustom CUDA FlashAttentionKV Cache Management
STAGE06
Pre-Norm Residuals & RMSNormNormalization
norm.rs (224 LOC)

Root Mean Square Normalization applied before each transformer block, stabilizing gradient variance across 12 layers.

Epsilon = 1e-5Pre-Norm ResidualsFused CUDA RMSNorm
STAGE07
Tied Weight LM Projection HeadProjection
linear.rs (113 LOC)

Linear projection layer mapping the 768-dim hidden representation back to the 32,000-token vocabulary logit matrix.

Tied Embedding WeightscuBLAS SGEMM / HGEMMFP16 Compute Option
STAGE08
Probabilistic Softmax & Token StreamGeneration
ops.rs / generate.rs

Fused Softmax layer with temperature scaling, Top-K, Top-P (nucleus), and repetition penalty sampling to emit text token streams.

Fused CUDA SoftmaxNucleus Sampling9,500 tok/s GPU Stream
📊

Training Status & GPU Telemetry

In Progress

Hyperparameters

Learning Rate6e-4
Batch Size4 (× 8 accum)
Weight Decay0.1
Grad Clip1.0
β₁ / β₂0.9 / 0.95
Warmup Steps500
Total Steps100,000
SchedulerCosine Annealing

GPU Telemetry

8%PROGRESS
68%VRAM
60%GPU UTIL
GPUNVIDIA RTX 5060
VRAM Used5,562 MB
Throughput9500 tok/s
Current Step7750 / 100,000
Prev Modelvoid-tiny: loss 4.65 @ step 3662
🚀

Model Lineup & Presets

Void Model Family

Every model preset can grow into the next tier without retraining from scratch, utilizing architecture growth and the 12-expert Mixture of Experts layer to expand capacity efficiently.

Void-50M-SeedComplete
Parameters~6.9M
d_model256
Layers6
Heads / Routing4 (MHA)
Void-125MComplete
Parameters~125M
d_model768
Layers12
Heads / Routing12 (MHA)
Void-200M-MoEComplete
Parameters~200M
d_model256
Layers6
Heads / Routing4 (MoE×4)
Void-500M-MoE-SNNComplete
Parameters~500M
d_model1024
Layers16
Heads / RoutingMoE + Spiking LIF
Void-1B-MoEActive Flagship
Parameters~1B
d_model2048
Layers24
Heads / Routing12 Experts (Top-2)
Void-3B-MoEFrontier Tier
Parameters~3B
d_model2560
Layers32
Heads / Routing12 Experts (Top-4)
🔢

Custom Tensor Engine

Zero PyTorch

Tensor Core

  • N-dimensional storage with contiguous/strided layouts
  • Shape broadcasting & automatic reshape
  • CPU ↔ CUDA device transfer
  • In-place and out-of-place operations
  • Lazy computation with fused kernels

Operations (100+)

  • MatMul, BatchMatMul, BMM with transpose
  • Softmax, LogSoftmax, GELU, SiLU/SwiGLU
  • LayerNorm, RMSNorm, Dropout
  • RoPE positional encoding
  • Cross-entropy loss with label smoothing

Autograd Engine

  • Reverse-mode automatic differentiation
  • Dynamic computation graph
  • Gradient accumulation & clipping
  • Memory-efficient checkpointing
  • Custom backward for attention & FFN

CUDA Acceleration

  • cudarc 0.19 — safe Rust bindings
  • cuBLAS SGEMM/DGEMM for matmul
  • Custom NVRTC-compiled kernels
  • Async memory copies & streams
  • Pinned host memory for transfers
🧪

Scaling & Efficiency Engine

Verified CUDA

The newest engineering pass focused on verifying the math before scaling: numerical gradient checking against analytical gradients, DeepSeek-style auxiliary-loss-free MoE load balancing, and cuBLAS FP16 acceleration.

Σ

12-Expert Mixture-of-Experts

  • Router + 12 domain expert selection, gradient-checked end-to-end
  • DeepSeek-style auxiliary-loss-free load balancing
  • Configurable drop-in alternative to the dense FFN block
  • Huge capacity with modest active compute per token
½

Mixed Precision (FP16)

  • Real cuBLAS Hgemm fp16 GPU compute, verified against f32 CPU reference
  • Confirmed 2-bytes-vs-4 memory savings on real hardware
  • fp32 master weights with fp16 forward/backward for stability
  • Full training-loop storage integration

INT8 Quantization

  • Round-trip quantize/dequantize verified for correctness
  • ~4x storage reduction for serving trained checkpoints
  • GPU-accelerated INT8 GEMM kernel integration

Gradient-Checked Backward

  • Numerical finite-difference check against every hand-written analytical gradient
  • Catches silent correctness bugs a loss curve alone would miss
  • Extended to cover MoE and mixed-precision paths

Architecture Growth

  • A trained checkpoint expands into a larger model without retraining
  • New layers initialize near-identity preserving existing knowledge
  • Seamless path from 125M to 1B MoE

Spiking FFN (Research)

  • Isolated, gradient-checked spiking FFN block (LIF neurons)
  • Benchmarked head-to-head against dense equivalents
  • Spiking efficiency benchmarked for neuromorphic hardware
🧬

Self-Evolution Engine

Autonomous

Void includes a built-in autonomous evolution system that mutates its own architecture — adding/removing layers, adjusting attention heads, modifying FFN dimensions — then evaluating fitness and selecting the best performing variants.

autonomous.rs
301 LOC — Architecture search & mutation scheduling
fitness.rs
268 LOC — Multi-objective fitness: loss, speed, memory
mutator.rs
254 LOC — Layer insertion, head pruning, dim scaling
sandbox.rs
192 LOC — Isolated evaluation with rollback safety
🎯

Orchestration Harness

Closed-Loop

A deterministic orchestration engine that treats the LLM as a validated state-machine step — plan, execute, validate, and learn from every inference cycle.

🗺️

Router & Planner

  • Intent classification and task decomposition
  • Multi-step execution plan generation
  • Dynamic routing based on model confidence

Executor & Validator

  • Sandboxed execution with timeout guards
  • Output validation against expected schemas
  • Automatic retry with corrective prompting
🧪

CaT Trainer (DPO-style)

  • Critique-and-Train learning from execution outcomes
  • DPO-style preference optimization from harness feedback
  • Continuous self-improvement without human annotation
⬇️

Distillation Pipeline

  • Teacher-student knowledge transfer
  • Dynamic growth policy for model scaling
  • Checkpoint expansion with preserved learned weights
🖥️

Void Studio GUI

Native GPU GUI

Real-time GPU-accelerated training dashboard built with egui/glow. Monitors loss curves, learning rate schedules, GPU telemetry, and generation output at native 60fps.

Live loss chart
LR schedule viz
GPU temp / VRAM
Generation preview
Training controls
Model config editor
Data pipeline view
Evolution monitor
Checkpoint manager
📦

Dependency Stack

14 Crates
cudarc0.19Safe CUDA bindings — nvrtc, cuBLAS, driver API, f16
rayon1.10CPU parallelism — data loading, tokenization
memmap20.9Memory-mapped files — 0-copy dataset access
eframe/egui0.31GPU-accelerated native GUI — training dashboard
egui_plot0.31Real-time loss & metric charting
mimalloc0.1Global allocator — prevents heap fragmentation during training
sysinfo0.33System monitoring — CPU, memory, process telemetry
serde + toml1 / 0.8Config serialization — 14 TOML model presets
half2FP16 half-precision — reduced VRAM, cublasHgemm
clap4CLI — train, generate, evolve, tokenize, bench, harness
sha20.10Checkpoint integrity — SHA-256 hash verification
ureq2HTTP — auto-fetch Gutenberg/training data
indicatif0.17Training progress bars — ETA, throughput
thiserror2Ergonomic error types across the engine
📁

Searchable Source Inventory

45 Files · 32K+ LOC
rust_generator.rsdata/
4932 LOC
Rust code generation engine — syntax-aware training corpus synthesis
app.rsstudio/
1647 LOC
Void Studio GUI — real-time training dashboard (egui/wgpu)
main.rssrc/
1622 LOC
CLI entry — train, generate, evolve, tokenize, benchmark, harness
ops.rstensor/
1207 LOC
100+ tensor operations — matmul, softmax, RoPE, layer_norm, GELU
backward.rstraining/
1142 LOC
Exact analytical backward pass — gradient-checked CUDA-accelerated gradients
dispatch.rsgpu/
969 LOC
GPU dispatch — NVRTC dynamic compilation, kernel routing, PTX caching
synthetic.rsdata/
904 LOC
Synthetic data generation — math, code, reasoning, multi-domain tasks
strategies.rsevolution/
837 LOC
Mutation strategies — hyperparameter jitter, layer expansion, expert splitting
config.rsmodel/
694 LOC
Model config — 8 presets from 6.9M seed to 3B frontier (TOML-driven)
kernels.rsgpu/
630 LOC
Custom CUDA kernels — fused softmax, FlashAttention, RMSNorm, SwiGLU
moe.rsnn/
537 LOC
Mixture-of-Experts — DeepSeek-style top-k routing, auxiliary-loss-free balancing
attention.rsnn/
514 LOC
MHA/GQA attention — KV cache, RoPE, QK-Norm (Gemma-3 style)
generate.rsmodel/
461 LOC
Text generation — temperature, top-k, top-p, nucleus sampling
optimizer.rstraining/
453 LOC
Fused AdamW — weight decay, gradient clipping, EMA, warm restarts
dashboard.rspanels/
440 LOC
Dashboard panel — system overview, key metrics, status indicators
gpu_monitor.rspanels/
400 LOC
GPU monitoring panel — VRAM, temp, utilization, thermal governor
mod.rstensor/
447 LOC
Tensor core — shape broadcasting, slicing, CPU↔CUDA dispatch
spiking_ffn.rsnn/
368 LOC
Spiking Neural Net FFN — LIF neurons, surrogate gradients, membrane decay
int8_matmul.rsgpu/
362 LOC
INT8 matrix multiplication — GPU-resident quantized GEMM kernels
autonomous.rsevolution/
301 LOC
Autonomous evolution — multi-objective fitness, architecture mutation
state.rsstudio/
330 LOC
GUI state management — training metrics, GPU telemetry IPC
transformer.rsnn/
324 LOC
Transformer block — multi-head attention + SwiGLU FFN + RMSNorm
domains.rsdata/
316 LOC
Curriculum domains — Shakespeare, code, math, science, research
cuda.rsgpu/
310 LOC
CUDA device management — alloc, cuBLAS, Blackwell compute detect
bpe.rstokenizer/
306 LOC
Byte-pair encoding — train vocab, encode, decode, merge rules
metrics.rssrc/
303 LOC
Training metrics IPC — loss tracking, throughput, ETA estimation
web_fetcher.rstraining/
277 LOC
Auto-fetches training data — Project Gutenberg, web corpus
fitness.rsevolution/
268 LOC
Multi-objective fitness — loss, accuracy, speed, memory scoring
mutator.rsevolution/
254 LOC
Architecture mutator — add/remove layers, heads, dimensions
pipeline.rsdata/
233 LOC
Data pipeline — quality filtering, batching, preprocessing
trainer.rstraining/
226 LOC
Training loop — forward, backward, optimizer step, checkpoints
autograd.rstensor/
199 LOC
Automatic differentiation — dynamic computation graph, backward
norm.rsnn/
224 LOC
RMSNorm — pre-norm residual connections, eps stability
bridge.rssrc/
221 LOC
FFI bridge — Python/C interop for model serving
sandbox.rsevolution/
192 LOC
Isolated evaluation with rollback safety
statistics.rsevolution/
180 LOC
Statistical validation — t-tests before committing mutations
shape.rstensor/
164 LOC
Shape algebra — broadcast rules, reshape, transpose, permute
curriculum.rsdata/
163 LOC
Curriculum learning — difficulty scheduling, domain mixing
dataloader.rstraining/
159 LOC
Data loading — mmap, epoch shuffling, batching, prefetching
half_precision_matmul.rsgpu/
154 LOC
FP16 matmul — cublasHgemm GPU-resident half-precision compute
checkpoint.rstraining/
146 LOC
Checkpoint save/resume — weights, optimizer state, metadata
quantization.rsnn/
140 LOC
INT8 quantization — symmetric per-tensor scale, 4× storage reduction
storage.rstensor/
136 LOC
Tensor storage — contiguous/strided layouts, device placement
activation.rsnn/
126 LOC
Activation functions — GELU, SiLU, SwiGLU, ReLU
linear.rsnn/
113 LOC
Linear layer — weight init, forward, matmul dispatch
🦀

Why Rust for Machine Learning?

Zero-Cost Abstractions

Rust's type system and ownership model produce code that compiles to the same machine instructions as hand-tuned C — with full memory safety guarantees. No garbage collector pauses during training.

Fearless Concurrency

Data races are compile-time errors in Rust. Rayon parallelism for CPU-bound data loading, async CUDA stream management, and lock-free metric reporting — all verified at compile time.

Single Binary Deployment

Void compiles to a single static binary. No conda environments, no pip dependencies, no virtualenvs, no CUDA version mismatches. Just run the binary.

Native CUDA Integration

cudarc provides safe Rust bindings to the CUDA driver API — device management, memory allocation, kernel launches, cuBLAS — without unsafe blocks leaking into application code.

🔭

From-Scratch LLM Research Frontier

Search Intent: ML Systems · Rust · AGI

Void sits at the intersection of questions ML engineers are actively researching: whether frameworks like PyTorch are strictly necessary, how far a from-scratch Rust + CUDA stack can go, and what self-modifying training architectures look like in practice.

Query Intent: how to train llm from scratch

How to Train an LLM From Scratch

Void's full stack — BPE tokenizer, transformer, autograd, optimizer, checkpointing — is hand-written in Rust, making every stage of the training pipeline inspectable rather than hidden behind a framework abstraction.

See the Language + Compiler Stack
Query Intent: rust vs python machine learning

Rust vs Python for Machine Learning

No garbage collector pauses during training, compile-time data-race safety for parallel data loading, and a single static binary with no conda/pip/CUDA version conflicts to manage.

Compare Against the Bare-Metal OS
Query Intent: self evolving neural architecture search

Self-Evolving Neural Architecture Search

An autonomous mutation-and-fitness loop that adds/removes layers, adjusts attention heads, and resizes the FFN, then evaluates and selects the best-performing variant with isolated rollback safety.

See the Full AGI Research Platform
Query Intent: gpu training without pytorch

GPU LLM Training Without PyTorch

cudarc's safe Rust bindings drive cuBLAS matmul and custom NVRTC-compiled kernels directly — proving GPU-accelerated training doesn't require a Python ML framework in the loop.

Explore the Full Ecosystem
Query Intent: mixture of experts vs dense transformer

Mixture-of-Experts vs Dense Transformers

Void's gradient-checked MoE layer routes each token through 12 specialized experts instead of the full network — the same sparse-activation principle DeepSeek published at 671B scale.

See 12-Expert MoE Router
💬

Frequently Asked Questions

Answer Engine Optimized
What is Void LLM?

Void LLM is a from-scratch large language model training engine built in Rust and CUDA — 32,000+ lines of code across 87 source files, with 8 model presets from 6.9M to 3B parameters, a gradient-checked 12-expert Mixture-of-Experts layer, BPE tokenizer, FlashAttention kernels, FP16/INT8 quantization, self-evolving architecture growth, orchestration harness, and 9,500 tok/s GPU throughput. 242 passing tests.

What is the Void 1B Mixture of Experts (MoE) Architecture?

Void 1B MoE is a sparse-activation architecture featuring a central Gateway Router that dynamically dispatches incoming tokens to 12 specialized experts (Code, Math, Logic, Physics, Reasoning, Safety, Security, Agent, Language, Data, Ethics, System - 80M-125M parameters each) and combines outputs in a Synthesis Layer.

Does Void use a custom BPE Tokenizer?

Yes — Void features a hand-written BPE (Byte-Pair Encoding) tokenizer in Rust (bpe.rs) that trains 32,000-token vocabularies from raw corpus, computes subword merge tables, and handles byte-level fallback for zero out-of-vocab errors.

Does Void use PyTorch or TensorFlow?

No — Void is built entirely from scratch in Rust and CUDA with its own tensor and training stack, without relying on existing deep-learning frameworks.

What hardware does Void LLM run on?

Void runs natively on Linux x86_64 with an NVIDIA GPU, using custom CUDA kernels for GPU-accelerated training and inference.

How is Void different from training with Hugging Face Transformers?

Void doesn't wrap an existing framework — every tensor operation, the autograd engine, the CUDA kernels, and the BPE tokenizer are hand-written in Rust. Hugging Face Transformers sits on top of PyTorch; Void has no such dependency layer.

What is the self-evolution engine in Void?

A built-in autonomous system (autonomous.rs, fitness.rs, mutator.rs, sandbox.rs) that mutates the model's own architecture — adding/removing layers, adjusting attention heads, resizing the FFN — then evaluates fitness and selects the best-performing variant, with isolated rollback safety.

What does Void Studio do?

Void Studio is a native GPU-accelerated GUI (built with egui/glow) that shows live loss curves, learning-rate schedules, GPU telemetry, and generation output at 60fps, with zero web/browser overhead.

Does Void use Mixture-of-Experts (MoE) like DeepSeek?

Yes — Void has a gradient-checked Mixture-of-Experts layer with 12 experts, top-k expert routing, and DeepSeek-style auxiliary-loss-free load balancing, built as a configurable alternative to the dense FFN block.

Is Void's mixed precision and quantization verified on real GPU hardware?

Yes, in isolation: real cuBLAS fp16 (Hgemm) compute is verified against the f32 CPU reference with confirmed memory savings, and INT8 quantization round-trips are verified for roughly 4x storage reduction.

Can a Void model grow larger without retraining from scratch?

Yes — an architecture-growth feature expands a trained checkpoint into a larger model (for example 125M to 300M+ and 1B MoE) by adding near-identity-initialized layers that preserve existing learned weights.

// AVAILABLE FOR HIRE

Built an LLM Training Engine From Scratch. Hire the Engineer.

CUDA kernel engineering, custom tensor/autograd libraries, transformer architecture, and Rust performance work — consulting from someone who built the whole training stack by hand, not just called an API.

Get in Touch
CUDA KernelsRust ML SystemsTransformer ArchitectureAutograd EnginesGPU Performance