Il 29 ottobre 2026 un post su X ha mostrato Doom E1M1 in esecuzione sulla CPU RISC-V integrata in Qwenputer, un progetto sperimentale basato su Qwen 3.5 4B. Divyansh Agrawal aveva descritto il progetto il 22 ottobre: la CPU è compilata nei pesi del modello, ma per avviarla serve ancora un programma di supporto esterno, RvChat.
Come funziona la CPU integrata in Qwenputer
Qwenputer aggiunge 11 livelli compilati davanti ai 32 di Qwen 3.5 4B. In questi livelli si trova una CPU a 32 bit basata su RV32IM, con l’estensione Zba e un’unità per i numeri molto grandi. I pesi originali di Qwen restano invariati, secondo la descrizione tecnica di Agrawal.
La memoria sfrutta lo stato di Gated DeltaNet, un meccanismo presente nei livelli di attenzione del modello. Agrawal riferisce di aver impostato a 1 il gate e la forza di scrittura, usando chiavi one-hot per indirizzare le righe dello stato come celle di RAM.
Le istruzioni della CPU passano attraverso token di traccia generati durante il forward pass, cioè il passaggio in cui il modello elabora i token. Qwen usa una formattazione simile a una chiamata a uno strumento per comunicare con la CPU; il calcolo, però, avviene nei livelli interni del modello. RvChat serve comunque per caricare il firmware e gestire i token di traccia: il checkpoint non si avvia con una semplice chiamata a generate().
Il calcolo avviene nei passaggi interni del modello; per avviare l’esperimento serve ancora RvChat.
I risultati aritmetici riportati da Agrawal
Agrawal ha pubblicato i risultati di cinque test aritmetici per Qwenputer, Qwen 3.5 4B senza modifiche e Qwen con uno strumento Python. Le percentuali si riferiscono a quei test specifici.
| Test aritmetico | Qwen 3.5 4B | Qwen 3.5 4B con strumento Python | Qwenputer |
div_big | 72,5% | 95% | 97,5% |
mul_big | 55% | 100% | 97,5% |
mul_div_multiple_longer | 90% | 97,5% | 100% |
add_or_sub_big | 87,5% | 97,5% | 97,5% |
| NUPA | 48,6% | 100% | 100% |
Il confronto varia da una prova all’altra: Qwenputer raggiunge il punteggio più alto in alcune, mentre nello stesso test della moltiplicazione mul_big la configurazione con Python segna 100%. I risultati mostrano quindi le prestazioni dichiarate su queste operazioni, non una misura complessiva della qualità del modello.
Agrawal riferisce anche che la CPU ha superato i test ufficiali riscv-tests, ha eseguito programmi con risultati corrispondenti a QEMU e ha completato 18 milioni di istruzioni senza errori. In un confronto con una macchina di riferimento, circa 230.000 posizioni di output non hanno prodotto discrepanze, secondo il creatore.
Risorse, velocità e archiviazione
Il checkpoint occupa 18,8 GB. Agrawal afferma che il progetto gira su una singola GPU con 24 GB di memoria. L’esecuzione è lenta: ogni istruzione richiede diversi token decodificati e i calcoli più grandi richiedono secondi anziché millisecondi. Per l’esecutore usato nei test in batch, il creatore riporta circa 3.200 token della CPU al secondo su una GPU L4; il dato riguarda quell’esecutore, non la velocità generale delle istruzioni.
Il progetto comprende inoltre un file system sperimentale basato sullo stato di Gated DeltaNet: può gestire 1.024 posizioni di directory e fino a 512 file, per circa 53.000 token di testo. Salvando lo stato e ricaricandolo in una conversazione successiva, i file possono essere mantenuti tra le conversazioni.