
E se vi dicessi che gran parte della potenza di calcolo che usiamo oggi viene sprecata in ‘trucchetti’ che non riusciamo nemmeno a vedere? In un’epoca in cui le GPU e le NPU sono diventate scatole nere impenetrabili, dove il software lancia comandi e spera che lo scheduler faccia il suo lavoro, spunta fuori un progetto che urla ‘trasparenza’ a squarciagola: OpenTPU.
Immaginate un mondo senza le solite astrazioni che rendono il debugging un incubo. OpenTPU non è il solito acceleratore che cerca di nasconderti la complessità sotto un tappeto di cache intelligenti e predittori di salto. Qui la filosofia è radicale: non c’è cache, non c’è scheduling nascosto. Ogni singolo spostamento di dati dalla DRAM ai registri è un’istruzione esplicita. Se un kernel è lento, non puoi dare la colpa a un ‘algoritmo di gestione della memoria’ che ha deciso di fare i capricci; sai esattamente quale istruzione sta mangiando i tuoi cicli di clock.
Il cuore del progetto è una combinazione geniale tra Python e SystemVerilog. Hai un linguaggio ad alto livello che sembra quasi uno script di PyTorch, ma che viene compilato in un set di istruzioni (ISA) ultra-semplice, composto da 8 parole a 32 bit. La cosa incredibile è che il simulatore e l’hardware reale (basato su una FPGA Kintex-7) sono speculari. Questo significa che quello che vedi girare sul tuo laptop è esattamente ciò che accade sulla scheda fisica.
E poi c’è ‘Lens’, il profiler. Invece di darti grafici astratti e poco chiari, Lens ti permette di riavvolgere il tempo e vedere esattamente cosa sta facendo ogni singola unità (la matrice, il vettore, il quantizzatore) in ogni singolo ciclo. È come avere una telecamera a rallentatore dentro i transistor.
Certo, non è una soluzione magica per far girare i modelli da mille miliardi di parametri sul vostro smartphone. È un progetto di nicchia, estremamente tecnico, che punta tutto sull’efficienza del calcolo ‘decoder-bound’ e sulla visibilità totale. Ma per chi si occupa di design hardware o di ottimizzazione estrema dei kernel, è una boccata d’ossigeno. In un panorama dove spesso siamo costretti ad accettare le decisioni dei grandi vendor senza poter mettere piede sotto il cofano, vedere un’architettura così nuda e cruda è un promemoria di quanto sia bello quando si può ancora controllare ogni singolo bit.
In breve: OpenTPU non cerca di superare Nvidia in forza bruta, ma cerca di superare la confusione moderna con la precisione chirurgica.
Source: OpenTPU – An open-source AI accelerator, developed by AI
