Non sono pochi coloro che predicano le virtù della tecnologia FPGA, e molti progetti hanno adottato i suoi circuiti come soluzioni definitive, ma è un errore pensare che funzionino per magia. Uno dei migliori esempi arriva tramite Dylan Barrie, ingegnere del software con più di due decenni di esperienza nel rendering. Il suo piano originale era dedicare alcuni mesi e creare una sorta di demo tecnica, tuttavia, quattro anni di lavoro lo hanno trasformato in una scheda grafica completa, con interfaccia PCI Express, driver per Windows, e un'API personalizzata. Il nome della sua bestia è FuryGpu, e ora può eseguire Quake a oltre 40 FPS…

FuryGpu e la titanica sfida di creare una scheda grafica fai-da-te
FuryGpu scheda grafica fai-da-te

L'idea di una scheda grafica fai-da-te non è nuova. Probabilmente alcuni dei nostri lettori ricorderanno «La peggiore scheda grafica del mondo» creata da Ben Eater, e «La più semplice del mondo», un'ottimizzazione di George Foot. Ma quando pensiamo a una GPU, la nostra mente ci porta verso un design più tradizionale, che possa essere installato e attivato con relativa facilità.

Il problema è che passare da un prototipo su breadboard a una scheda completa richiede uno sforzo immenso, anche avendo decenni di esperienza. Così arriviamo al blog di Dylan Barrie, che dopo essersi specializzato come ingegnere del software focalizzato sul rendering, ha deciso di bagnarsi i piedi nelle acque dell'hardware. Barrie prevedeva di dedicare alcuni mesi a questo progetto, «creare un cubo rotante», e fermarsi lì… ma con quasi quattro anni alle spalle, il suo risultato è FuryGpu.

FuryGpu: una scheda grafica fai-da-te che funziona su Windows e fa girare Quake

FuryGpu è una «GPU su FPGA», basata sulla Xilinx Zynq UltraScale+, con una frequenza di 400 MHz nel suo nucleo e 480 MHz nella sua unità di texture. Supporta un front-end FP32 completo, filtri lineari e bilineari, e utilizza un'interfaccia PCI Express 2.0 x4. Non ci sono shader programmabili, e invece di dipendere da API convenzionali come Direct3D e Vulkan, Barrie ha creato la sua soluzione, FuryGL.

Ciò significa che tutti i giochi necessitano di un port per funzionare correttamente su FuryGpu, cosa difficile, ma non impossibile. Barrie ha dovuto imparare SystemVerilog e lottare con KiCad, ma ammette che la parte più dolorosa del progetto è stata scrivere i driver video compatibili con Windows. Purtroppo non ha condiviso dettagli al riguardo, ma non ci sorprende che il sistema operativo di Microsoft sia un ostacolo (senza dimenticare che scrivere driver è complicato in ogni caso).

L'intenzione di Barrie è rendere FuryGpu open source, tuttavia, avverte che non c'è un limite di tempo. La cosa migliore è seguire da vicino il suo blog e il suo canale YouTube per ulteriori novità.

Sito ufficiale di FuryGpu: Clicca qui

Dylan Barrie su YouTube: Clicca qui