Rock Lee
Commander
- Registriert
- Apr. 2011
- Beiträge
- 3.004
Inspiriert durch die Entwicklung eines selbst gebauten 8-Bit Computer durch den Bastler Ben Eater, hat nach 4 Jahren Entwicklungszeit ein völlig eigenständiger Grafikprozessor namens "FuryGPU" das Licht der Welt erblickt. Das Ein-Personen-Projekt wird von Dylan Barrie, beruflich Softwareingenieur, während seiner Freizeit geführt.
Dylan Barrie startete das Projekt mit einem Arty Z7 Entwicklerboard und FPGA, wechselte jedoch später auf ein ZYNQ Ultrascale+ MPSoC (MultiProcessor System on a Chip), welches neben der programmierbaren Logik auch 64-bit ARM-Prozessoren enthält.
Mittels einer Hardware Description Language (HDL) wird der Logik vorgegeben, wie die eigenen Teileinheiten zu nutzen sind, so dass diese im Falle der FuryGPU speziell auf die Verarbeitung von Grafikaufgaben programmiert wurden, wie die grundsätzliche Ausgabe eines Bildes bis hin zu verschiedenen Renderingtasks. Diese Arbeit allein hat innerhalb der Projektlaufzeit 3 Jahre gedauert, da er nicht auf geschütztes geistiges Eigentum von Unternehmen wie Nvidia und AMD zurückgreifen konnte, sondern komplett von Null beginnen musste.
Mit dem programmierten FPGA war Barrie jedoch noch lange nicht fertig. Um die Zusammenarbeit mit einem halbwegs modernen PC zu gewährleisten, designte Barrie innerhalb eines Monats ein PCB, welches später zur Fertigung in China in Auftrag gegeben wurde. Die über 400 einzelnen Komponenten musste Berrie jedoch selbst auf das PCB löten.
Dabei enthält das PCB gängige Anschlüsse wie HDMI, Displayport sowie eine PCIe-x4-Schnittstelle.
Dennoch erinnert das Produkt am Ende optisch an eine Grafikkarte von vor 20 Jahren.
Damit die Karte auch auf einem Betriebssystem lauffähig ist, benötigt es Treiber, die Barrie logischerweise ebenfalls selbst programmieren musste. Nach 4 Monaten ist dabei eine Custom-API herausgekommen, welche der Vulkan-API ähnelt. Um eine Zusammenarbeit mit dem Spiel Quake1 zu gewährleisten, musste dessen Renderer ebenfalls noch auf die API angepasst werden. Am Ende resultiert dies in einem Spieleerlebnis welches - angesichts der Umstände - respektable 60fps in der Auflösung 720p in diesem Spiel zu Stande bringt.
Es existiert ebenfalls ein Youtubevideo einer lauffähigen Version, welches man sich weiter unten entsprechend ansehen kann.
Aktuell unterstützt die FuryGPU noch keine Shader-Funktionalitäten. Barrie stellt jedoch in Aussicht, dass diese in Zukunft noch kommen könnten - ebenso wie der Support für weitere Spiele. Descent III ist beispielsweise ein Spiel welches von Followern des Projekts häufig gefordert wurde.
Sammler und andere Interessenten muss Barrie jedoch leider enttäuschen. FuryGPU soll ein Hobbyprojekt bleiben und ein Verkauf der Karten ist daher nicht angedacht.
Quellen:
https://www.furygpu.com
Techquickie Youtube
PS: Ich verlinke mal @Jan und @MichaG , falls das Thema auch für die Website interessant ist.
Dylan Barrie startete das Projekt mit einem Arty Z7 Entwicklerboard und FPGA, wechselte jedoch später auf ein ZYNQ Ultrascale+ MPSoC (MultiProcessor System on a Chip), welches neben der programmierbaren Logik auch 64-bit ARM-Prozessoren enthält.
Mittels einer Hardware Description Language (HDL) wird der Logik vorgegeben, wie die eigenen Teileinheiten zu nutzen sind, so dass diese im Falle der FuryGPU speziell auf die Verarbeitung von Grafikaufgaben programmiert wurden, wie die grundsätzliche Ausgabe eines Bildes bis hin zu verschiedenen Renderingtasks. Diese Arbeit allein hat innerhalb der Projektlaufzeit 3 Jahre gedauert, da er nicht auf geschütztes geistiges Eigentum von Unternehmen wie Nvidia und AMD zurückgreifen konnte, sondern komplett von Null beginnen musste.
Mit dem programmierten FPGA war Barrie jedoch noch lange nicht fertig. Um die Zusammenarbeit mit einem halbwegs modernen PC zu gewährleisten, designte Barrie innerhalb eines Monats ein PCB, welches später zur Fertigung in China in Auftrag gegeben wurde. Die über 400 einzelnen Komponenten musste Berrie jedoch selbst auf das PCB löten.
Dabei enthält das PCB gängige Anschlüsse wie HDMI, Displayport sowie eine PCIe-x4-Schnittstelle.
Dennoch erinnert das Produkt am Ende optisch an eine Grafikkarte von vor 20 Jahren.
Damit die Karte auch auf einem Betriebssystem lauffähig ist, benötigt es Treiber, die Barrie logischerweise ebenfalls selbst programmieren musste. Nach 4 Monaten ist dabei eine Custom-API herausgekommen, welche der Vulkan-API ähnelt. Um eine Zusammenarbeit mit dem Spiel Quake1 zu gewährleisten, musste dessen Renderer ebenfalls noch auf die API angepasst werden. Am Ende resultiert dies in einem Spieleerlebnis welches - angesichts der Umstände - respektable 60fps in der Auflösung 720p in diesem Spiel zu Stande bringt.
Es existiert ebenfalls ein Youtubevideo einer lauffähigen Version, welches man sich weiter unten entsprechend ansehen kann.
YouTube
An dieser Stelle steht ein externer Inhalt von YouTube, der den Forumbeitrag ergänzt. Er kann mit einem Klick geladen und auch wieder ausgeblendet werden.
Ich bin damit einverstanden, dass YouTube-Embeds geladen werden. Dabei können personenbezogene Daten an YouTube übermittelt werden. Mehr dazu in der Datenschutzerklärung.
Aktuell unterstützt die FuryGPU noch keine Shader-Funktionalitäten. Barrie stellt jedoch in Aussicht, dass diese in Zukunft noch kommen könnten - ebenso wie der Support für weitere Spiele. Descent III ist beispielsweise ein Spiel welches von Followern des Projekts häufig gefordert wurde.
Sammler und andere Interessenten muss Barrie jedoch leider enttäuschen. FuryGPU soll ein Hobbyprojekt bleiben und ein Verkauf der Karten ist daher nicht angedacht.
Quellen:
https://www.furygpu.com
Techquickie Youtube
PS: Ich verlinke mal @Jan und @MichaG , falls das Thema auch für die Website interessant ist.
Zuletzt bearbeitet: