Adam Majmudar, ingegnere, ha raccontato la sua esperienza nel progettare un processore da zero in sole due settimane, senza alcuna esperienza pregressa in questo ambito specifico. Majmudar è riuscito nel progetto, che prevede sia uno studio dell'architettura alla base dei chip che il design completo di un processore, grazie all'ausilio di strumenti EDA (Electronic Design Automation). Ora l'ingegnere ha come prossimo obiettivo la progettazione di una GPU, ovviamente partendo anche in questo caso da zero.
Majmudar ha detto di aver intrapreso questo progetto come una vera e propria "corsa" nel mondo della progettazione di chip. Uno dei più grandi traguardi che ha raggiunto finora è stato imparare e applicare la progettazione di circuiti in Verilog, un linguaggio di descrizione hardware usato nella progettazione di circuiti elettronici, che lui stesso ha definito come "la mia prima esperienza nel programmare hardware usando il software".
I've spent the past ~2 weeks trying to make a chip from scratch with no prior experience. It's been an incredible source of learning so far.
— adammaj (@MajmudarAdam) April 11, 2024
Progress tracker in thread (coolest stuff at the end)👇 pic.twitter.com/tKuYg7GgdI
Il prossimo grande passo per Majmudar è la sfida di progettare da zero un GPU, compito che riconosce essere piuttosto complicato. Rivela infatti che, a differenza dell'architettura CPU, trovare risorse didattiche per la costruzione di GPU è molto difficile, dal momento che che i dati sull'architettura delle GPU tendono ad essere proprietari e custoditi gelosamente dalle aziende produttrici. Questo ostacolo, tuttavia, non ha fatto altro che aumentare il suo entusiasmo per il progetto.
Ha trovato particolarmente utile, in questa fase, l'utilizzo di strumenti AI come Claude di Anthropic per proporre idee e ottenere indicazioni sulle possibili implementazioni, che vengono poi verificate attraverso la documentazione disponibile in repository open-source.
Malgrado le sfide incontrate, Majmudar rimane ottimista e crede di poter già completare il design della GPU nei prossimi giorni, per poi mandarla in produzione sfruttando il progetto TinyTapeout 6 di Matthew Venn.