Releases: Heniokhos-Systems/MLRift
Releases · Heniokhos-Systems/MLRift
Release list
v1.1.0
Full Changelog: v1.0.1...v1.1.0
MLRift v1.0.1
v1.0.1 — destroy-PyTorch verified across 4 GPU models 97 commits since v1.0.0 (b84defc). Headline deliverables: GPU scorecard (RX 7800 XT, gfx1100, post-reboot bench 2026-05-17 — see docs/bench_2026-05-17.md): Qwen3-0.6B 264 tok/s (mks16+PLD peak) — 4.4–5.3× PT bf16 GPU Qwen3-0.6B 118 tok/s (M=1 mega-kernel) — ~2.0× PT bf16 GPU Llama-3.2-1B 99.8 tok/s — +95% PT bf16 GPU Llama-3.2-3B 40.7 tok/s — +28% PT bf16 GPU Mistral-7B 21.7 tok/s (Q8_0) — +71% PT bf16 GPU All bit-exact vs PyTorch / Ollama greedy on canonical prompts. Mistral 22/23 vs PT is sub-ULP structural (reduction-tree topology, not precision) — proven via Kahan-compensated down_proj experiment. Mega-kernel architecture work: - Llama-1B + Llama-3B + Mistral-7B ported to 9-phase fused mega-kernel AST-walked by MLRift's @kernel emitter (no hipcc / LLVM / clang) - Slice 7.5: 8× inner-gemv unroll across all 3 architectures - Slice 7.4: host RSS dealloc after q/k/v + gate/up fuse (saves 1–4 GiB) - Slice 8.5: Qwen3 single-env reproducer (MLRIFT_NATIVE_MEGAKERNEL=2) - Slice 8.6: clean-exit Qwen3 mks-K on AQL-ring cap exceeded Driver / runtime: - Slice 6.8d (kfd_release_all_allocations): structural MES-wedge fix for inter-process queue leaks - Compiler auto-injects hipkfd_teardown() at every exit under --target=amdgpu-native (ce8c07f) - destroy-libc Phase 1: native Linux syscall wrappers replace libc write/exit/puts/memcpy @dynamic externs Tokenizer (task #297, Phase 1 + Phase 2): - tokenizer_load_from_gguf reads vocab + merges + special-token IDs directly from GGUF metadata - Canonical merge-rank BPE encoder for gpt2 family (Qwen3 / Llama-3) - Greedy longest-prefix-match for SPM family (Mistral) - Byte-exact vs HuggingFace tokenizers on 5-prompt chat-REPL corpus - All 4 chat REPLs migrated off external tokenizer.json - Mistral v0.3→v0.2 ID-shift hack eliminated Compiler bugfixes (all KernRift-portable): - FFMA peephole f32 → f64 clobber (ecd7365) — fixed Llama Q8_0 CPU all-zero-token output - struct_var_table cross-fn collision — fixed silent struct-field offset mis-resolution - u64 = u64 Assign-alias clobber via snapshot back-edge 439/439 tests pass, bootstrap fixed point holds.
MLRift v1.0.0
First tagged MLRift release.
Highlights
- Self-hosted compiler —
build/mlrcbuilds fromsrc/*.mlrbybuild/mlrc. - 8-target fat binaries (
.mlrbo) — Linux / macOS / Windows / Android × x86_64 / arm64. - Native AMDGCN GPU emitter for gfx1100 + gfx1030 (31 LLM kernels reachable; no ROCm DSO dependency on Linux).
- 439/439 tests pass; self-host fixed point holds (
mlrc3 == mlrc4byte-identical). - Four-platform benchmark report — see
benchmarks/BENCHMARKS.mdfor Ryzen 9 7900X, Pi 400, Core Ultra 9 275HX, and Redmi Note 8 Pro numbers.
Attached artifacts
mlrc.mlrbo— 8-slice fat binary of the compiler itself. Run withmlr mlrc.mlrbo …and the host slice is extracted automatically.mlrc-source.mlr— concatenated single-file source used to producemlrc.mlrbo.- Single-arch native compilers (all 8 targets):
mlrc-linux-x86_64mlrc-linux-arm64mlrc-macos-x86_64(Mach-O)mlrc-macos-arm64(Mach-O)mlrc-windows-x86_64.exe(PE)mlrc-windows-arm64.exe(PE)mlrc-android-x86_64(PIE ELF)mlrc-android-arm64(PIE ELF)
Lineage
Forked from KernRift at 6cf758b (v2.8.15). Generic compiler findings that apply upstream are tracked in docs/kernrift_upstream.md.