Production-Ready GPU-Accelerated ML Framework in Pure Rust
| Configuration | Points | Time | Throughput | Status |
|---|---|---|---|---|
| Standard (lffn_mlp) | 200 | 3.99 ms | 50.1 Kelem/s | Baseline |
| Standard (lffn_mlp) | 1,000 | 17.3 ms | 57.8 Kelem/s | -2.4% |
| Standard (lffn_mlp) | 10,000 | 167.0 ms | 59.9 Kelem/s | -3.8% |
| Optimized (workspace) | 200 | 261.6 µs | 764.4 Kelem/s | 15x faster |
| Optimized (workspace) | 1,000 | 282.0 µs | 3.55 Melem/s | 61x faster |
| Optimized (workspace) | 10,000 | 1.18 ms | 8.46 Melem/s | 141x faster |
| Optimized (workspace) | 100,000 | 10.4 ms | 9.66 Melem/s | Peak |
| Configuration | Points | Time | Throughput | Speedup |
|---|---|---|---|---|
| Standard (single_step) | 200 | 4.69 ms | 42.6 Kelem/s | Baseline |
| Standard (single_step) | 1,000 | 19.5 ms | 51.2 Kelem/s | Baseline |
| Workspace Optimized | 200 | 831.9 µs | 240.4 Kelem/s | 5.6x |
| Workspace Optimized | 1,000 | 1.06 ms | 945.8 Kelem/s | 18x |
| Cached Tensors | 200 | 4.72 ms | 42.4 Kelem/s | ~1x |
| Cached Tensors | 1,000 | 19.2 ms | 52.1 Kelem/s | ~1x |
| Fully Optimized | 200 | 792.8 µs | 252.3 Kelem/s | 5.9x |
| Fully Optimized | 1,000 | 997.8 µs | 1.0 Melem/s | 19.5x |
| Configuration | Points | Total Time | Per Epoch | Speedup |
|---|---|---|---|---|
| Standard | 200 | 472.0 ms | 4.72 ms | Baseline |
| Cached | 200 | 473.4 ms | 4.73 ms | ~1x |
| Fully Optimized | 200 | 79.9 ms | 0.80 ms | 5.9x |
| Kernel File | Operations | Status |
|---|---|---|
elementwise.metal |
add, sub, mul, div, neg, abs, sqrt, exp, log, fma | Complete |
activations.metal |
ReLU, sigmoid, tanh, GELU, SiLU (forward/backward) | Complete |
fourier.metal |
sin/cos for Fourier features, positional encoding | Complete |
reductions.metal |
sum, mean, max, min with threadgroup memory | Complete |
| Workload | Recommended Config | Expected Performance |
|---|---|---|
| Small batches (<1K) | Fully Optimized | ~800 µs/step, 250 Kelem/s |
| Medium batches (1K-10K) | Workspace Optimized | ~1 ms/step, 1.0 Melem/s |
| Large batches (>10K) | Workspace Optimized | ~10 ms/step, 9.6 Melem/s |
| Full training loop | Fully Optimized | 80 ms/100 epochs (5.9x faster) |