GPU open source yang sepenuhnya kustom telah muncul secara diam-diam setelah empat tahun pengembangan. FuryGPU merupakan upaya tunggal dari pengembang perangkat lunak game Dylan Barrie, yang mengatakan bahwa dia menyusun proyek perangkat keras dan perangkat lunak yang sangat kompleks ini di waktu luangnya. FuryGPU didasarkan pada desain Xilinx FPGA, dan prototipe kartu grafis PCIe saat ini mampu mencapai sekitar 44fps di Quake Timedemo. Pengerjaan FuryGPU dilakukan setelah Barrie terinspirasi oleh Ben Eater yang membuat proyek komputer 8-bit yang dapat diprogram dari awal.
Seperti yang bisa Anda lihat dari gambar di artikel ini, FuryGPU terlihat sangat mirip dengan kartu grafis PC pada umumnya sekitar 20 tahun lalu, dimodernisasi dengan melengkapi output DisplayPort dan HDMI. Proyek ini lebih dari sekedar perangkat keras, namun Barrie mengakui bahwa aspek yang paling menyakitkan dari desain kartu grafis ini adalah pembuatan driver Windows.
Perangkat keras, dari papan pembuat hingga kartu grafis
Barrie mulai mewujudkan mimpinya membuat GPU dari awal setelah menggunakan papan pengembangan Arty Z7 yang dilengkapi FPGA dan melakukan beberapa pengembangan dan pengujian awal. Selanjutnya, proyek ini mendapat dorongan dengan debut Xilinx Kria System-on-Modules (SoMs), yang menggabungkan “Zynq UltraScale+ FPGA yang sangat murah dengan banyak unit DSP dan sejumlah besar LUT dan FF (yang relatif) besar, dan dari minat khusus, inti PCIe yang diperkuat,” Barrie antusias.
Untuk beralih dari papan pembuat ini ke desain kartu tambahan FuryGPU PCIe yang kita lihat pada tahun 2024, Barrie belajar sendiri deskripsi perangkat keras SystemVerilog dan bahasa verifikasi perangkat keras serta rangkaian perangkat lunak CAD KiCAD EDA / elektronik. Dia mengatakan upaya besar diperlukan untuk merancang skema FuryGPU dengan PCIe 4 jalur yang kita lihat sekarang, bahkan dengan sirkuit FPGA yang terpasang di SoM. Sekarang saatnya menyambungkan FuryGPU ke perangkat pengujiannya, menulis driver, dan menguji game.
Driver Windows dan Quake pada 60fps
Membuat driver Windows untuk FuryGPU digambarkan oleh Barrie sebagai aspek “yang paling menyakitkan” dari keseluruhan proyek – meskipun pekerjaannya sehari-hari adalah di sisi perangkat lunak rendering grafis di industri pengembangan game selama 14 tahun terakhir.
Awalnya, ambisi pembuat FuryGPU adalah membuat demo kubus berputar sederhana, untuk menunjukkan cara kerja GPU. Namun, seiring berkembangnya proyek, memainkan game PC ikonik Quake dengan frame rate yang dapat dimainkan mulai menjadi tujuan baru.
Barrie menjelaskan bahwa setelah menyiapkan driver Windows, dia menulis API grafik khusus untuk berkomunikasi dengan GPU, menulis driver kernel Windows untuk tampilan dan audio, dan sekarang memiliki “perangkat keras grafis yang berfungsi penuh yang dapat membuat Quake dalam sekejap. solid 60 frame per detik.”
Kami telah menyematkan pengambilan video Quake Timedemo milik Barrie, yang menunjukkan bahwa FuryGPU dapat mencapai 44fps dalam benchmark ini pada 720p sekitar sebulan yang lalu. Pengembang mengatakan ada peluang yang jelas untuk membuat Quake “berjalan lebih cepat,” karena ia melihat beberapa hambatan yang jelas yang akan ia targetkan untuk upaya pengoptimalan.
FuryGPU diatur menjadi sumber terbuka. “Saya bermaksud menjadikan seluruh tumpukan (skema/tata letak PCB, semua HDL, driver Windows WDDM, driver runtime API, dan port Quake untuk menggunakan API) menjadi sumber terbuka (open-sourcing) di beberapa titik, namun ada sejumlah masalah hukum, tulis Barrie dalam postingan Hacker News pada hari Rabu. Karena dia bekerja dalam pekerjaan yang berhubungan secara tangensial, dia ingin memastikan tidak ada satupun dari pekerjaan ini yang akan melanggar kontrak kerja atau lisensinya, dll. Thread yang sama ini mencakup sedikit detail tambahan tentang proyek FuryGPU bagi mereka yang tertarik.
Di situs web FuryGPU, terdapat artikel yang didedikasikan untuk unit tekstur GPU, bagi mereka yang ingin mendalami arsitekturnya lebih dalam.
Untuk menyimpulkan liputan kami tentang proyek baru (bagi kami) yang menarik ini, ada baiknya menjelaskan cakupan proyek FuryGPU yang dimaksudkan. Jelas ini adalah proyek pembuat, seperti CPU papan tempat memotong roti, tetapi FuryGPU menawarkan kinerja yang sangat mengesankan sehingga beberapa orang mungkin salah mengira ini sebagai arsitektur GPU baru yang serius. Barrie menjelaskan bahwa hal ini tidak terjadi di thread Hacker News yang ditautkan sebelumnya (menulis dengan nama samaran PfhorSlayer). “Ini mainan,” tegas pembuat FuryGPU. “Ini tidak akan mengubah lanskap GPU atau bersaing dengan pemain komersial mana pun.”
Meskipun FuryGPU (atau keturunannya) mungkin tidak pernah masuk dalam daftar kartu grafis terbaik kami, kami akan mengamati perkembangan FuryGPU dengan penuh minat. Kini setelah proyek tersebut go public, ada kemungkinan publisitas dan kolaborator ahli dapat mempercepat rencana yang sudah ada.