Runtime de recherche pour ordinateurs neuronaux différentiables, émulation de CPU basée sur GPU et synthèse de programmes. Comprend une ALU neuronale, de la cryptographie à temps constant, des modèles du monde JEPA et un compilateur C auto-hébergé sur Metal.
Un ordinateur complet dont chaque couche — arithmétique, OS, compilateur, affichage — est soit un réseau neuronal entraîné, soit s'exécute entièrement sur GPU.
Le modèle ne s'exécute pas sur l'ordinateur. Le modèle est l'ordinateur.
nCPU est un seul dépôt qui poursuit une seule thèse dans cinq directions : un ordinateur peut être construit à partir de composants appris, et une fois que toute la pile d'exécution est différentiable, les programmes cessent d'être des choses que l'on écrit pour devenir des choses que l'on peut rechercher par descente de gradient. Chaque sous-système ci-dessous repose sur ses propres mesures ; ensemble, ils couvrent la pile, des opérations ALU individuelles à un système d'exploitation, jusqu'à la synthèse de programmes.
Chaque opération ALU — addition, soustraction, multiplication, logique binaire, décalages, division — est un réseau neuronal entraîné. Le système d'exploitation neuronal (neurOS) gère la mémoire, planifie les processus et compile le code via 11 modèles entraînés, sans recours à des implémentations écrites à la main. Un affichage neuronal génère les caractères via des MLP char→glyphe et un ConvNet (143 K paramètres). L'ensemble du pipeline — code source → compilateur neuronal → assembleur neuronal → CPU neuronal → affichage neuronal — est différentiable de bout en bout.
L'ALU neuronale atteint 100 % de précision sur les entiers 32 bits, vérifiée exhaustivement pour toutes les entrées possibles. Un résultat inverse la hiérarchie matérielle conventionnelle : la multiplication est ici 12 fois plus rapide que l'addition, car l'addition nécessite une chaîne de retenue en 8 passes, alors que la multiplication se décompose en consultations parallèles de tables de paires d'octets.
| Instruction | Stratégie | Latence |
|---|---|---|
| ADD/SUB/CMP | Anticipation de retenue Kogge-Stone (8 passes) | 248 µs |
| MUL | LUT par paires d'octets (65 536 entrées) | 21 µs |
| AND/OR/XOR | Table de vérité vectorisée | 21 µs |
| SHL/SHR | Routage de bits par attention | 434 µs |
| DIV | Division par restauration (soustraction neuronale) | variable |
Précision des composants neurOS :
| Composant | Précision | Composant | Précision |
|---|---|---|---|
| MMU | 100 % | Génération de code assembleur | 100 % |
| TLB | 99,6 % | Tokenizer assembleur | 99,4 % |
| Cache | 99,7 % | Optimiseur du compilateur | 95,2 % |
| Ordonnanceur | 99,2 % | Chien de garde | 100 % |
| Préchargement | 97,8 % | Allocateur de blocs | 98,4 % |
Un ordinateur autonome sur un seul GPU — le CPU n'intervient qu'au démarrage. Le noyau Rust + Metal exécute environ 200 instructions ARM64 (entières et flottantes) à environ 1,9 M d'instructions par seconde, avec mémoire partagée sans copie (zero-copy) et une variance nulle du nombre de cycles entre exécutions (σ = 0,0).
Ce qui s'y exécute :
nSynth est un système de synthèse de programmes basé sur Rust qui découvre des programmes exécutables à partir d'exemples d'entrée/sortie en utilisant la descente de gradient, l'énumération et la recherche. Combiné à un moteur ML/tensoriel complet et à une pile web complète, il permet la synthèse de :
Couverture : 420/420 problèmes de synthèse (Mog : 315/315, nSynth : 105/105)
Trois piliers :
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 neuronale injectée dans le passage avant d'un transformer en tant qu'expert routé. Une porte apprise par token décide si chaque token passe par le MLP original ou par l'ALU neuronale. Des tables de vérité douces bilinéaires fournissent une logique différentiable, des opérations tensorieles fournissent une arithmétique différentiable, et le routage est modulé par la confiance du modèle.
Résultats d'une campagne de 11 modèles sur les familles Qwen 2.5/3/3.5, sur des tâches arithmétiques :
| Modèle | Précision arithmétique | Note |
|---|---|---|
| Qwen3.5-2B (instruct) | 14,5 % → 71,0 % (+56,5 pp) | meilleur global |
| Qwen3.5-2B (base) | 15,5 % → 63,0 % (+47,5 pp) | 100 % sur ADD/SUB/MUL/DIV |
| Qwen3.5-4B | +51,0 pp | plus grand gain pour un modèle de base (ex æquo) |
| Qwen3.5-9B | +51,0 pp | plus grand gain pour un modèle de base (ex æquo) |