オープンソースGPUはRISC-V上に構築されています
愛好家のグループは、3Dグラフィックスとメディア処理用に設計された新しいグラフィックス命令のセットを提案しています。これらの新しい命令は、RISC-Vベースベクトル命令セットに基づいて構築されています。これらは、コアRISC-V命令セットアーキテクチャ(ISA)の精神に基づいて、階層化された拡張機能としてグラフィックス固有の新しいデータ型のサポートを追加します。ベクトル、超越数学、ピクセル、テクスチャ、およびZ /フレームバッファ操作がサポートされています。 CPUとGPUの融合ISAである可能性があります。命令は64ビット長になるため、グループはこれをRV64Xと呼んでいます(堅牢なISAをサポートするには32ビットでは不十分です)。
なぜ今なのか
世界にはたくさんのGPUから選択できますが、なぜこれなのですか?グループによると、商用GPUは、デュアルフェーズ3Dフラスタムクリッピング、適応可能なHPC(任意のビット深度FFT)、ハードウェアSLAMなどの異常なニーズを満たすにはあまり効果的ではありません。彼らは、コラボレーションが柔軟な基準を提供し、他の方法で必要とされる10〜20人年の労力を削減し、ミスを回避するための相互検証に役立つと信じています。
チームは、彼らの動機と目標は、カスタムのプログラム可能性と拡張性を備えた、小さくて面積効率の高い設計を作成したいという願望によって推進されていると述べています。低コストのIP所有権と開発を提供し、商用製品と競合してはなりません。 FPGAおよびASICターゲットに実装でき、無料でオープンソースになります。初期設計は、低電力マイクロコントローラを対象としています。 Khronos Vulkanに準拠し、時間の経過とともに他のAPI(OpenGL、DirectXなど)をサポートします。
最終的なハードウェアは、GPU機能ユニットを備えたRISC-Vコアになります。プログラマーにとっては、スカラー命令としてコード化された64ビット長の命令を備えた単一のハードウェアのように見えます。プログラミングモデルは見かけのSIMDです。つまり、コンパイラはプレフィックス付きのスカラーオペコードからSIMDを生成します。これには、可変問題、述語SIMDバックエンド、ベクトルフロントエンド、正確な例外、ブランチシャドウイング、および多くが含まれます。 もっと。チームによると、RPC / IPC呼び出しメカニズムが未使用のCPUメモリスペースとGPUメモリスペースの間で3DAPI呼び出しを送受信する必要はありません。また、16ビットの固定小数点(FPGAに最適)および32ビットの浮動小数点(ASICまたはFPGA)として利用できるようになります。
設計では、Vblock形式(Libre GPUの取り組みによる)を採用します:
- これは少し似たVLIWです(実際にはそうではありません)
- 命令のブロックには、ブロック内のスカラー命令に追加のコンテキストを与えるレジスタタグが前もって付けられています
- サブブロックには、ベクトルの長さ、スウィズリング、ベクトル/幅のオーバーライド、および予測が含まれます。
- これはすべてスカラーオペコードに追加されます
- ベクターオペコードはありません(必要ありません)
- ベクトルコンテキストでは、次のようになります。レジスタがスカラーオペコードによって使用され、レジスタがベクトルコンテキストにリストされている場合、ベクトルモードがアクティブになります
- アクティブ化すると、ハードウェアレベルのforループが(1つだけではなく)複数の連続したスカラー演算を発行します。
- 実装者は、SIMD、複数発行、単一実行など、希望する方法でループを自由に実装できます。
この設計では、スカラー(8ビット、16ビット、24ビット、および32ビットの固定および浮動小数点数)と、超越関数(sincos、atan、pow、exp、log、rcp、rsq、sqrtなど)を使用します。ベクトル(RV32-V)は、2〜4要素(8、16、または32ビット/要素)のベクトル操作と、ポイント、ピクセル、テクセル(基本的に特殊なベクトル)の一般的な3Dグラフィックスレンダリングパイプラインの特殊な命令をサポートします。 )
- XYZWポイント(64ビットおよび128ビットの固定および浮動小数点)
- RGBAピクセル(8、16、24、および32ビットピクセル)
- UVWテクセル(コンポーネントあたり8ビット、16ビット)
- ライトとマテリアル(Ia、ka、Id、kd、Is、ks…)
行列は2×2、3×3、4×4の行列で、属性ベクトルをサポートするメモリ構造とともにネイティブデータ型としてサポートされ、基本的に4×4の行列で表されます。
融合CPU-GPUISAの利点の中には、マイクロコードで標準のグラフィックパイプラインを実装し、カスタムシェーダーのサポートを提供し、レイトレーシング拡張機能を実装する機能があります。また、AIおよび機械学習用の8ビット整数データ型を使用した数値シミュレーション用のベクトルもサポートしています。
スプライン、サブディビジョンサーフェス、パッチなどのカスタムラスターライザーを実装できます。
設計は、カスタムパイプラインステージ、カスタムジオメトリ/ピクセル/フレームバッファステージ、カスタムテッセレータ、およびカスタムインスタンス化操作を実装できるほど十分に柔軟です。
RV64Xブロック図
RV64Xリファレンス実装には次のものが含まれます。
- 命令/データSRAMキャッシュ(32KB)
- マイクロコードSRAM(8KB)
- デュアル関数命令デコーダー
- RV32VおよびXのハードワイヤード実装
- カスタムISA用のマイクロコード化された命令デコーダー
この設計は、以下に示すようにスケーラブルであることを目的としています。
RV64Xのスケーラブルなデザイン
RV64Xの設計には、融合された統合CPU-GPU ISA、カスタムデータ型の構成可能なレジスタ、アプリケーション定義のカスタムハードウェア拡張用のユーザー定義のSRAMベースのマイクロコードなど、いくつかの斬新なアイデアがあります。
- カスタムラスタライザステージ
- レイトレーシング
- 機械学習
- コンピュータービジョン
同じデザインがスタンドアロンのグラフィックマイクロコントローラーまたはスケーラブルなシェーダーユニットの両方として機能し、データ形式はFPGAネイティブまたはASICの実装をサポートします。
オープングラフィックが必要なのはなぜですか?
開発者は、ほとんどのグラフィックプロセッサがゲーム、高頻度取引、コンピュータビジョン、機械学習などのハイエンドをカバーしていると考えています。彼らは、エコシステムには、キオスク、ビルボード、カジノゲーム、おもちゃ、ロボット工学、アプライアンス、ウェアラブル、産業用ヒューマンマシンインターフェイス、インフォテインメント、自動車用ゲージクラスターなどの主流アプリケーション向けのスケーラブルなグラフィックコアがないと考えています。一方、OpenGL、OpenCL、CUDA、DirectCompute、DirectXのGPUコアをプログラミングするには、特殊なプログラミング言語を使用する必要があります。
RISC-Vのグラフィックス拡張機能は、スケーラビリティと多言語の負担を解決し、より高いレベルのユースケースイノベーションを可能にします。
次のステップ
これは非常に初期の仕様であり、まだ開発中であり、利害関係者と業界の意見に基づいて変更される可能性があります。チームはディスカッションフォーラムを設立します。当面の目標は、命令セットシミュレータを使用したサンプル実装、オープンソースIPを使用したFPGA実装、およびオープンソースプロジェクトとして設計されたカスタムIPを構築することです。デモとベンチマークが設計されています。参加に関心のある開発者は、AtifZafarと契約する必要があります。
Libre-RISC 3D GPUに関しては、組織の目標はハイブリッドCPU、VPU、およびGPUを設計することです。広く報告されているように、これは「専用の専用GPU」ではありません。スタンドアロンGPU製品を作成するオプションがあります。彼らの主な目標は、LibreライセンスのVPUとGPUを含む完全なオールインワンプロセッサSoCを設計することです。
どう思いますか?
GPUサプライヤーの人口は増加しています。現在、12を超えています。
AppleLibre-RISC-V 3D GPUQualcommAMDNvidiaRISC-V GraphicsArmIntelThink-SiliconDMPJingjia MicroVeriSilcionImagination Technologies無料で柔軟な小型GPUの潜在的なユーザーとしてリストされていないアプリケーションには、暗号通貨とマイニングが含まれます。
ArmやImaginationなどのIPサプライヤをエミュレートすることがRISC-Vコミュニティの目標である場合、DSP、ISP、およびDPの設計が期待できます。少なくとも1つのOpenDSP提案があります。おそらくそれはRISC-Vコミュニティに持ち込むことができます。
ハードウェアの実装が登場するまでには、少なくとも2年かかります。この設計を採用するための最も論理的な候補の1つは、ザイリンクスです。ザイリンクスは現在、Zynq設計でArm’sMaliを使用しています。また、中国からいくつかの実装が行われることも期待されます。
>>この記事はもともと姉妹サイトのEETimes。
> ジョン・ペディ グラフィック業界のパイオニアである、Jon PeddieResearchの社長です。
>
Embeddedの詳細については、Embeddedの週刊メールニュースレターを購読してください。
埋め込み
- オープンソース用語の紹介
- オープンソースとIoT:コラボレーションによるイノベーション
- RISC-Vサミット:議題のハイライト
- 産業用IoTセキュリティはハードウェア上に構築されています
- オープンソースのMicroFactoryであるFirePickDeltaのプロジェクトログ
- AT&T、TechMahindraが新しいオープンソースAIプラットフォームでコラボレーション
- ソフトウェアのリスク:IoTでのオープンソースの保護
- オープンソースのIoT開発ツールとベンダーがサポートするツール
- MassRoboticsは、「世界初」のオープンソース自律移動ロボットの相互運用性標準を公開しています
- エッジでのオープンソースの必要性(eBook)
- オープンソースがIoTとエッジコンピューティングの採用を促進