Wielu entuzjastów zachwala zalety technologii FPGA, a wiele projektów wykorzystuje te układy jako ostateczne rozwiązania, ale błędem jest myślenie, że działają one magicznie. Jednym z najlepszych przykładów jest Dylan Barrie, inżynier oprogramowania z ponad dwudziestoletnim doświadczeniem w renderowaniu. Jego pierwotny plan zakładał poświęcenie kilku miesięcy i stworzenie czegoś w rodzaju dema technicznego, jednak cztery lata pracy zamieniły to w kompletną kartę graficzną z interfejsem PCI Express, sterownikami dla Windows i autorskim API. Nazwa jego bestii to FuryGpu, a już teraz potrafi uruchomić Quake'a z prędkością ponad 40 FPS...
Pomysł karty graficznej DIY nie jest nowy. Prawdopodobnie niektórzy z naszych czytelników pamiętają „Najgorszą kartę graficzną świata” stworzoną przez Bena Eatera oraz „Najprostszą na świecie” – optymalizację autorstwa George’a Foota. Kiedy jednak myślimy o GPU, nasza wyobraźnia prowadzi nas ku bardziej tradycyjnemu projektowi, który można zainstalować i uruchomić stosunkowo łatwo.
Problem w tym, że przejście od prototypu na breadboardzie do pełnej karty wymaga ogromnego wysiłku, nawet mając dziesięciolecia doświadczenia. Tak trafiamy na blog Dylana Barrie, który po wyspecjalizowaniu się jako inżynier oprogramowania skupiony na renderowaniu, postanowił zanurzyć się w świat sprzętu. Barrie planował poświęcić temu projektowi kilka miesięcy, „stworzyć wirujący sześcian”, i na tym poprzestać... ale po prawie czterech latach pracy efekt to FuryGpu.
FuryGpu: karta graficzna DIY działająca w Windows i uruchamiająca Quake
FuryGpu to „GPU-na-FPG”. Bazuje na Xilinx Zynq UltraScale+ z częstotliwością 400 MHz w rdzeniu i 480 MHz w jednostce tekstur. Obsługuje pełny front-end FP32, filtry liniowe i dwuliniowe oraz wykorzystuje interfejs PCI Express 2.0 x4. Nie ma programowalnych shaderów, a zamiast konwencjonalnych API, takich jak Direct3D i Vulkan, Barrie stworzył własne rozwiązanie – FuryGL.
Oznacza to, że wszystkie gry wymagają portu, aby działać poprawnie na FuryGpu – to trudne, ale nie niemożliwe. Barrie musiał nauczyć się SystemVerilog i zmagać się z KiCad, ale przyznaje, że najbardziej bolesną częścią projektu było pisanie sterowników wideo zgodnych z Windows. Niestety nie podzielił się szczegółami, ale nie dziwi nas, że system operacyjny Microsoftu stanowi przeszkodę (nie wspominając o tym, że pisanie sterowników jest skomplikowane w każdym przypadku).
Intencją Barrie jest uczynienie FuryGpu open source, ale ostrzega, że nie ma terminu. Najlepiej śledzić jego bloga i kanał na YouTube, aby otrzymywać nowości.
Oficjalna strona FuryGpu: Kliknij tutaj Dylan Barrie na YouTube: Kliknij tutaj.