Runtime di ricerca per computer neurali differenziabili, emulazione CPU basata su GPU e sintesi di programmi. Include ALU neurale, crittografia a tempo costante, modelli del mondo JEPA e un compilatore C self-hosting su Metal.
Un computer completo in cui ogni strato — aritmetica, sistema operativo, compilatore, display — è o una rete neurale addestrata o esegue interamente su GPU.
Il modello non viene eseguito sul computer. Il modello è il computer.
nCPU è un repository che persegue una tesi da cinque direzioni: un computer può essere costruito con componenti appresi, e una volta che l'intero stack di esecuzione è differenziabile, i programmi smettono di essere cose che scrivi e diventano cose che puoi cercare tramite discesa del gradiente. Ogni sottosistema sotto si basa su misurazioni proprie; insieme coprono lo stack dalle singole operazioni ALU a un sistema operativo fino alla sintesi di programmi.
Ogni operazione ALU — addizione, sottrazione, moltiplicazione, logica bit a bit, shift, divisione — è una rete neurale addestrata. Il sistema operativo neurale (neurOS) gestisce la memoria, pianifica i processi e compila il codice attraverso 11 modelli addestrati con nessun fallback scritto a mano. Un display neurale visualizza i caratteri tramite MLP char→glyph e una ConvNet (143K parametri). L'intera pipeline — codice sorgente → compilatore neurale → assemblatore neurale → CPU neurale → display neurale — è differenziabile end-to-end.
L'ALU neurale raggiunge il 100% di accuratezza sull'aritmetica intera a 32 bit, verificata esaustivamente su ogni possibile input. Un risultato inverte la gerarchia hardware convenzionale: la moltiplicazione è 12x più veloce dell'addizione qui, perché l'addizione necessita di una catena di riporto a 8 passaggi mentre la moltiplicazione si scompone in lookup paralleli di coppie di byte.
| Istruzione | Strategia | Latenza |
|---|---|---|
| ADD/SUB/CMP | Carry-lookahead Kogge-Stone (8 passaggi) | 248 µs |
| MUL | LUT a coppie di byte (65.536 voci) | 21 µs |
| AND/OR/XOR | Tavola di verità vettorizzata | 21 µs |
| SHL/SHR | Instradamento bit basato su attenzione | 434 µs |
| DIV | Divisione con ripristino (sottrazione neurale) | varia |
Accuratezza dei componenti neurOS:
| Componente | Accuratezza | Componente | Accuratezza |
|---|---|---|---|
| MMU | 100% | Generazione codice assemblatore | 100% |
| TLB | 99,6% | Tokenizer assemblatore | 99,4% |
| Cache | 99,7% | Ottimizzatore compilatore | 95,2% |
| Scheduler | 99,2% | Watchdog | 100% |
| Prefetch | 97,8% | Allocatore a blocchi | 98,4% |
Un computer autosufficiente su una singola GPU — la CPU è coinvolta solo al bootstrap. Il kernel Rust + Metal esegue circa 200 istruzioni ARM64 (intere e a virgola mobile) a circa 1,9 milioni di istruzioni al secondo, con memoria condivisa a copia zero e varianza zero del conteggio dei cicli tra esecuzioni (σ = 0,0).
Cosa viene eseguito su di esso:
nSynth è un sistema di sintesi di programmi basato su Rust che scopre programmi eseguibili da esempi input/output utilizzando discesa del gradiente, enumerazione e ricerca. Combinato con un motore ML/tensore completo e uno stack web completo, abilita la sintesi di:
Copertura: 420/420 problemi di sintesi (Mog: 315/315, nSynth: 105/105)
Tre pilastri:
cd nsynth
cargo run --release --bin nsynth_codegen --lang python --examples '{
"name":"reverse","signature":"fn reverse(arr: List<i64>) -> List<i64>",
"examples":[{"inputs":[[1,2,3]],"expected":[3,2,1]}]
}'
# → def reverse(arr): return arr[::-1]
L'ALU neurale iniettata nel forward pass di un trasformatore come esperto instradato. Un gate appreso per token decide se ogni token passa attraverso il MLP originale o attraverso l'ALU neurale. Le tavole di verità soft bilineari forniscono logica differenziabile, le operazioni tensoriali forniscono aritmetica differenziabile, e il gating è modulato dalla confidenza del modello.
Risultati da una sweep su 11 modelli attraverso le famiglie Qwen 2.5/3/3.5, su compiti aritmetici:
| Modello | Accuratezza aritmetica | Nota |
|---|---|---|
| Qwen3.5-2B (instruct) | 14,5% → 71,0% (+56,5 pp) | migliore in assoluto |
| Qwen3.5-2B (base) | 15,5% → 63,0% (+47,5 pp) | 100% su ADD/SUB/MUL/DIV |
| Qwen3.5-4B | +51,0 pp | maggior guadagno modelli base (pareggio) |
| Qwen3.5-9B | +51,0 pp | maggior guadagno modelli base (pareggio) |
Il trasferimento nel mondo reale è misurato, non estrapolato: su HumanEval completo (Qwen3.5-4B, A100), 62,2% → 64,6% — quattro problemi aggiuntivi risolti.