有名なハードウェアマニアは、64,000 個の安価な RISC-V マイクロコントローラーを使用して「自作​​ GPU」を構築し、ディスプレイ パネルとコンピューティング ユニットを 1 つに組み合わせて、非常に実験的なグラフィックス処理システムを形成しようとしています。このプレイヤーの名前は Matthias Balwierz で、オンライン名は Bitluni です。高性能 GPU に依存する代わりに、グラフィックス コンピューティング タスクを何千ものマイクロコントローラーに分散させます。各マイクロコントローラーはプロセッサーであり、画面上のピクセルに直接対応します。基本的な RGB LED が各チップに溶接され、最終的には多数の発光ピクセルで構成される「自己発光コンピューティング アレイ」を形成します。

フル HD ディスプレイを実現しようとすると、この設計には理論的には 200 万以上のチップが必要となり、コストとエンジニアリングの複雑さが耐え難いものになります。そこで Balwierz 氏は目標を解像度 320×200 に縮小しましたが、それでもフルバージョンでは 64,000 個のマイクロコントローラーが必要になります。現在構築されているプロトタイプはさらに小型で、複数のカスタム回路基板に実装された 8,192 個のチップで構成されています。各回路基板は 16 × 32 ピクセル領域を担当し、古典的な Cray-1 スーパーコンピューターの設計から部分的にインスピレーションを得て、基板はリング状に配置され、全体的に点滅する LED の高密度の壁のような外観を与えます。

コストを抑えるために、このプロジェクトでは、より強力で高価なアドレッサブル RGB ランプ ビーズを放棄し、代わりに通常の RGB LED を各チップに直接溶接することを選択しました。使用されているコアデバイスは国産の QingKe CH570 マイクロコントローラーで、価格は約 0.13 ドルです。最大周波数100MHzの32ビットRISC-V CPUを内蔵しています。また、USB コントローラー、2.4 GHz 無線周波数トランシーバー モジュール、Bluetooth 5.0 LE サポートも統合されています。価格的には「小さいながらも内臓が揃っている」と言えるでしょう。それでも、数量が数万に達すると、デバイスのコストは急速に膨れ上がります。回路基板、電源、その他のサポート コンポーネントを含まない、わずか 64,000 個のチップの価格が 8,000 ドルを超えます。

システム アーキテクチャの点では、Balwierz は、すべての制御ロジックが単一の中央処理装置に配置されることを避けるために、階層型管理スキームを採用して多数の「小さなチップ」をグループ化して管理します。 32 個の CH570 マイクロコントローラーはそれぞれ、より強力な CH32V 制御チップによって均一にスケジュールおよび調整され、大規模な並列構造で基本的な順序と同期を維持します。この階層設計により、規模の拡張だけでなく、システムの制御性や信頼性も維持できます。

この実験における最大の課題の 1 つは電力消費でした。単一のマイクロコントローラーの現在の要件は約 10 ミリアンペアですが、これは重要ではないように思えます。しかし、その数が数千、さらには数万に増加すると、総電力消費量は指数関数的に増加します。現在のプロトタイプ システムの全体の消費電力は約 2,161 ワットで、これは 3.3 ボルトで約 655 アンペアに相当します。このような巨大な電流要件を満たすために、Balwierz は Corsair WS3000 ATX 電源を選択し、非常に高い電流出力に耐えながら 12V の電圧を効率的に 3.3V に降圧するカスタム電力変換モジュールを設計しました。

回路基板、電源システム、テストツールなど、ハードウェアのほぼすべての側面が Balwierz によって社内で設計および製造されています。このプロジェクトで使用された 6 層 PCB 設計は、JLCPCB の基板製造能力の設計上限に近い、彼の最初の試みでした。当初、彼は高電力消費時の加熱問題を解決するために浸漬冷却の使用を検討しましたが、コストと環境上の懸念により、この計画は一時的に棚上げされました。

プログラミングや制作過程においても、このプロジェクトは「オタク風味」に満ちています。何万ものチップの書き込みニーズを満たすために、彼は 1 つずつ手動で書き込むことを選択しませんでした。代わりに、彼は自作の 3 ピン接点プログラミング ツールを作成し、3D プリンターを使用して自動位置決めを実現しました。具体的な方法は、プログラミング ヘッドを 3D プリンタのモーション プラットフォームに取り付け、Python スクリプトを通じて G コード命令をプリンタに送信し、プログラミング ヘッドが各マイクロコントローラに順番に正確に移動できるようにすることで、接触と書き込みが自動的に完了するため、反復的で退屈な手動操作が大幅に削減されます。

現在、この自作 GPU プロジェクトはまだ比較的初期の探索段階にあり、パフォーマンス、エネルギー効率、サイズの点で市販のグラフィック カードと比較することはできません。ただし、Balwierz 氏の目標は、「実用的な」高性能グラフィックス カードを作成することではなく、極端なアイデアを検証することです。それは、大規模な低コストの処理ユニットを使用して、分散型の強力な並列グラフィックス処理システムを構築し、GPU の基本的な形式を再考することです。このシステムが将来的に「Doom」などの古典的なゲームを実行できるかどうかについては、まだ不明です。しかし、少なくとも、誰かが従来の GPU 設計フレームワークの外に出て、完全に異なる方法で「グラフィックス カード」の概念を再定義しようとする意志がある限り、革新的なアーキテクチャにおける安価なコンポーネントの可能性を効果的に実証しました。