HPVMは、CPU、GPU、FPGA、およびアクセラレーター用のLLVMベースのコンパイラーです。

プロジェクト開発者 LLVMがリリースされました 最近、異種並列仮想マシンコンパイラをリリースしました (HPVM)1.0 異種システムのプログラミングを簡素化し、CPU、GPU、FPGA、およびハードウェアアクセラレータ用のコード生成ツールを提供します ドメイン固有(FGPAとアクセラレータのサポートはバージョン1.0に含まれていませんでした)。

主なアイデア HPVMの背後 実行可能プログラムの統一された表現を同時にコンパイルすることです GPU、ベクトル命令、マルチコアプロセッサ、FPGA、さまざまな専用アクセラレータチップなど、さまざまな並列ハードウェアで実行するために使用できます。

異種並列システムのプログラミングは、異なるモデルを使用して並列処理、異なる命令セット、異なるメモリ階層を実現するコンポーネント(CPUコア、ベクトル命令、GPUなど)のシステムに存在するため複雑であり、各システムには次の組み合わせがあります。そのようなコンポーネントは変化しています。

イリノイLLVMコンパイラ研究グループは、HPVM(バージョン1.0)のオープンソースリリースを発表できることを嬉しく思います。 HPVMは、CPU、GPU、およびアクセラレーターを対象としたコンパイラーフレームワークの方向を変えるものです(このリリースにはアクセラレーターのサポートは含まれていません)[1]。 HPVMは、タスク、データ、およびパイプラインの並列処理をキャプチャする明示的な階層データフロー表現でLLVM9.0.0コンパイラIRを拡張するターゲットに依存しないコンパイラIRを使用します。

このバージョンは、線形代数テンソル演算、PytorchおよびKerasインターフェース、畳み込み演算子の近似、および近似フィッティングのための効率的で柔軟なフレームワークのサポートを追加する、最初のバージョン(バージョン0.5)への重要な追加です。 

の使用に注意する必要があります HPVMは大幅なパフォーマンスの向上を実現できます として eHPVMトランスレータの出力パフォーマンスはOpenCLコードの出力パフォーマンスに匹敵します GPUおよびベクトルコンピューティングデバイス用に手書き。 他のシステムとは異なり、HPVMは、言語およびハードウェアに依存しない中間表現、仮想命令セットアーキテクチャ(V-ISA)、およびランタイムプログラミングというXNUMXつの可能性を組み合わせてヘテロジニアスコンピューティングを編成しようとしました。

独立した中間表現 ターゲットシステムの(IR) HPVMで使用されるプログラミング言語は、LLVM9.0命令の中間表現に基づいています。 階層データフローグラフで拡張して、タスク、データ、および計算パイプラインレベルでの並列処理をカバーします。

HPVM中間体には、ベクトル命令と共有メモリも含まれています。 中間表現を使用する主な目標は、異種システムの効率的なコード生成と最適化です。

仮想命令セットアーキテクチャ(V-ISA)は、低レベルのハードウェア機能を抽象化し、基本的な同時実行モデルであるデータフローグラフのみを使用して、さまざまな形式の並列処理とメモリアーキテクチャを統合します。 V-ISAを使用すると、さまざまなタイプの並列コンピューティング機器間の移植性を実現し、異種システムのさまざまな要素を使用するときにパフォーマンスを損なうことはありません。 仮想ISAを使用して、CPU、GPU、FPGA、およびさまざまなアクセラレータを使用して実行できるユニバーサル実行可能プログラムコードを提供することもできます。

開発の現段階では、 HPVMは、ISAによって定義されたアプリケーションノードを変換できるコードジェネレーターを提供します NVIDIA GPU(cuDNNおよびOpenCL)、Intel AVXベクター命令、およびマルチコアx86CPUを使用して実行するための仮想。 }

実行中、HPVMは、プログラムに関する情報(グラフィック構造)に基づいて、およびシステムで使用可能な宛先の任意のコンピューティングデバイスで実行するための個々のプログラムノードのコンパイルを通じて実装される、計算プロセスに柔軟なスケジューリングポリシーを適用します。

最初のプレビューバージョンと比較して、 HPVM 1.0には、線形代数テンソル演算のサポートが含まれています。 PytorchとKerasのインターフェース、および特定のテンソル操作に最適な近似を自動的に選択し、最適なパフォーマンスの設定を選択する近似調整フレームワーク。

最後に、このコンパイラについて詳しく知りたい場合は、 詳細は以下のリンクで確認できます。


記事の内容は、次の原則に準拠しています。 編集倫理。 エラーを報告するには、 ここで.

コメントを最初に

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。