AMD(旧Xilinx)のZynq UltraScale+のFPGAに実装され、カスタム基板上に搭載されてPCIeでコンピューターと接続できるGPUが「FuryGpu」です。FuryGpuは1990年代半ばのハイエンドグラフィックカードと同等のハードウェア性能と、Windowsソフトウェアのドライバースタックをサポートしており、1990年代のゲームを高解像度・高フレームレートでレンダリングできるとのことです。

FuryGpu

https://www.furygpu.com/



実際にFuryGpuを使って、1996年に発売されたid softwareのFPS「Quake」を720pでプレイしているところが以下のムービー。

FuryGpu Display and Audio Drivers work! - YouTube

開発者のディラン・バリー氏は、FuryGpuは詳しくいうと「典型的なタイル式ラスタライザー」だと述べています。ラスタライザーとは、点の座標とそれを結ぶ線で構成されるベクターイメージを、色付きの点の集まりとして表現されるラスターイメージに変換する、すなわちラスタライズする装置のことです。

バリー氏によれば、FuryGpuは効率的なグラフィックス処理を行うために、以下のような特徴を持っているとのこと。

タイル式のレンダリング:画面を小さなタイルに分割し、各タイルを並列に処理することで高速化を実現します。

パイプライン処理:各ステージ(コマンド解釈、頂点処理、プリミティブ組み立て、ラスタライズ)が並列に動作し、高いスループットを実現。

固定機能ユニット:専用のハードウェアユニットがそれぞれの処理を担当し、効率的な処理を可能にします。

グラフィックスコマンドはメモリ上のリストから読み込まれ、頂点データはシェーダーで変換されます。その後、グラフィックスプリミティブが組み立てられ、スクリーンタイル内に振り分けられます。最後に、4つのラスタライザーユニットが並列にタイルをレンダリングします。



以下はVulkanベースのFury GL APIを介してFuryGPUでレンダリングした三角形。

GPU Driver First Frames! - YouTube

バリー氏は、ソーシャルニュースサイトのHacker Newsにもコメントを寄せています。その中で、FuryGpuの開発プロジェクトは2021年8月22日から2年半以上かけていることを明らかにし、将来的に基板の回路図やレイアウト、各種ドライバーについての記事を公開する予定だと述べました。また、価格についても比較的安価であることが想定され、ハードウェアのベースに使われているKria SoMはPCIeコアを備えたZynq UltraScale+ FPGAを搭載しており、開発ボードでも1台当たり350ドル(約5万3000円)程度で入手できるそうです。

なお、バリー氏は「はっきり言っておきますが、FuryGpuはオモチャです」と述べており、あくまでも趣味の範囲で触るものであり、既存の商用GPUと競合するものではないことを強調しています。