VeriGPU プロジェクトは、Verilog 言語でオープン GPU を開発します。

VeriGPU プロジェクトは、Verilog 電子システム記述およびモデリング言語で開発されたオープン GPU を作成することを目的としています。 当初、プロジェクトは Verilog シミュレータを使用して開発されていますが、準備が整った後は、実際のチップの製造に使用できるようになります。 プロジェクト開発は MIT ライセンスに基づいて配布されます。

VeriGPU は、機械学習システムに関連する計算を高速化するために最適化された Application Specific Processing Unit (ASIC) として位置付けられています。 この計画では、PyTorch 深層機械学習フレームワークとの互換性の提供や、HIP (Heterogeneous-Compute Interface) API を使用した VeriGPU 用のアプリケーション開発の可能性について言及しています。 将来的には、SYCL や NVIDIA CUDA などの他の API のサポートが追加される可能性もあります。

GPU は RISC-V 命令セットに基づいて進化しますが、その結果得られる内部 GPU 命令セット アーキテクチャは RISC-V ISA との互換性が低くなります。これは、GPU の設計が RISC-V 表現に適合しない状況では、 RISC-Vとの互換性を維持するタスクが設定されていません。 開発は機械学習システムに必要な機能に焦点を当てているため、チップ マトリックスのサイズと複雑さを軽減するために、BF16 浮動小数点形式のみが使用され、次のような機械学習に必要な浮動小数点演算のみが使用されます。 exp、log、tanh、sqrt が利用可能です。

すでに利用可能なコンポーネントのうち、GPU コントローラー、整数演算 (「+」、「-」、「/」、「*」) 用の APU (Accelerated Processing Unit)、浮動小数点演算 (「+」、「*」) 用のブロック)と分岐ユニット。 アプリケーションを作成するために、アセンブラと、LLVM に基づいた C++ コードのコンパイルのサポートが提供されます。 計画されている機能の中で、命令の並列実行、データと命令メモリのキャッシュ、SIMT 操作 (単一命令複数スレッド) が際立っています。

VeriGPU プロジェクトは、Verilog 言語でオープン GPU を開発します。


出所: オープンネット.ru

コメントを追加します