You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ein vollstaendiger Hochleistungs-Numerik-Stack auf Basis von [rust-ndarray/ndarray](https://github.com/rust-ndarray/ndarray). Dieser Fork fuegt 55 HPC-Module mit 880 Tests hinzu: BLAS L1-L3, LAPACK, FFT, Vektormathematik, quantisierte Inferenz und hardware-spezifische SIMD-Kernel von Intel AMX bis Raspberry Pi NEON — alles auf **stabilem Rust 1.94**, null Nightly-Features.
3
+
Ein vollstaendiger Hochleistungs-Numerik-Stack auf Basis von [rust-ndarray/ndarray](https://github.com/rust-ndarray/ndarray). 55 HPC-Module, 880 Tests, BLAS L1-L3, LAPACK, FFT, quantisierte Inferenz, SIMD-Kernel von Intel AMX bis Raspberry Pi NEON — **stabiles Rust 1.94**, null Nightly.
4
4
5
-
Das Upstream-ndarray liefert exzellente n-dimensionale Array-Abstraktionen. Wir behalten all das und fuegen hinzu, wofuer es nie gedacht war: mit NumPys OpenBLAS bei GEMM konkurrieren, Codebook-Inferenz auf einem 5-Watt Pi 4 laufen lassen, und Halbpraezisions-Gleitkommazahlen verarbeiten, fuer die Rust noch nicht einmal einen stabilen Typ hat.
|**Rust stable**|**Ja** (1.94) | CUDA Toolkit | CUDA Toolkit | Python |
10
19
11
-
Die zentrale Frage: Was genau bekommt man mit diesem Fork, was Upstream nicht hat?
20
+
GPU gewinnt bei grosser dichter GEMM. Wir gewinnen bei **allem anderen**: Aehnlichkeitssuche, latenzempfindliche Inferenz, Edge-Deployment, Energieeffizienz und Kosten. Ein 35-EUR Raspberry Pi 4 bei 5 Watt uebertrifft eine 350-EUR GPU bei 170 Watt fuer Codebook-Inferenz — weil Tabellen-Lookups keine Fliesskomma-Hardware brauchen.
21
+
22
+
## Upstream vs. Fork — Feature fuer Feature
12
23
13
24
### ISA-Abdeckung (Instruction Set Architecture)
14
25
15
26
| ISA / Feature | Upstream ndarray |**AdaWorldAPI Fork**| Speedup vs. Upstream |
Upstream trifft bei 1024×1024 auf eine Cache-Klippe: kein Tiling, kein Threading, kein Microkernel. Unsere Goto-Implementierung eliminiert das vollstaendig.
89
+
**10,5x ueber Upstream** bei 1024x1024 — auf NumPy OpenBLAS Niveau.
91
90
92
-
### Codebook-Inferenz (Token-Generierung)
93
-
94
-
Keine Matrixmultiplikation — O(1) Tabellen-Lookup pro Token.
**611 Millionen Cosine-aequivalente Vergleiche pro Sekunde mit reinen Integer-Operationen** — 12× schneller als SIMD-f32-Skalarprodukt. Die 256×256 Tabelle (64KB) passt komplett in den L1-Cache.
611M Cosine-aequivalente Lookups/Sek mit reinen Integer-Operationen. Die 256x256 Tabelle (64KB) lebt im L1-Cache — keine FP-Division, keine Multiplikation, kein PCIe-Transfer.
121
111
122
-
Getestet mit 15-Millionen-Parameter-Modell (Piper TTS Groesse):
112
+
### f16 Gewichts-Transkodierung
123
113
124
-
| Format | Groesse | Max Fehler |RMSE |Durchsatz |
### 1. Vollstaendiger SIMD-Polyfill auf stabilem Rust
134
-
135
-
`std::simd` ist seit Jahren Nightly-only. Wir implementieren dieselbe Typ-Oberflaeche mit stabilen `core::arch` Intrinsics. Wenn `std::simd` stabilisiert wird, aendert der Consumer eine `use`-Zeile.
136
-
137
-
### 2. Halbpraezisions-Typen ohne Nightly
138
-
139
-
Rusts `f16`-Typ ist Nightly-only. Wir nutzen `u16` als Traeger + Hardware-Instruktionen via stabiles `#[target_feature]` (F16C auf x86, `FCVTL`/`FCVTN` via Inline-`asm!()` auf ARM).
140
-
141
-
### 3. AMX auf stabilem Rust
142
-
143
-
Intel AMX Intrinsics sind Nightly-only. Wir emittieren Instruktionen direkt via `asm!(".byte ...")` — 256 MACs pro Instruktion, verifiziert auf Rust 1.94 stable.
144
-
145
-
### 4. Gestuftes ARM NEON fuer Einplatinen-Computer
146
-
147
-
Drei Stufen mit Laufzeit-Erkennung: A53 Baseline (Pi Zero/3), A72 Fast (Pi 4, Dual-Pipeline), A76 DotProd (Pi 5, `vdotq_s32` + natives fp16). big.LITTLE-bewusst.
148
-
149
-
### 5. Eingefrorener Dispatch (0,3ns pro Aufruf)
150
-
151
-
Funktionszeiger-Tabelle statt Branch pro Aufruf. `LazyLock<SimdDispatch>` → ein indirekter Call, kein Atomic, kein Branch-Prediction-Miss.
152
-
153
-
### 6. BF16 RNE bit-exakt mit Hardware
154
-
155
-
Pure AVX-512-F Emulation von `VCVTNEPS2BF16`, verifiziert Bit-fuer-Bit auf 1M+ Eingaben.
0 commit comments