Vitis™ アプリケーション アクセラレーション開発フロー チュートリアル

HBM の使用

バージョン: Vitis 2021.2

概要

このチュートリアルでは、DDR メモリを使用して既存のアプリケーションを HBM メモリに移行する基本的な手順について説明します。 このチュートリアルではまず、DDR と HBM の構造的な違いと、実現可能な理論上の帯域幅について説明します。2 番目のセクションでは、簡単な例を使用して、DDR から HBM にアプリケーションを移行するのに必要な手順を示します。

開始前の確認事項

ヒント: このチュートリアルには、約 2 時間かかります。

このチュートリアルでは、次を使用します。

  • BASH Linux シェル コマンド。

  • 2021.2 Vitis コア開発キット リリースおよび xilinx_u200_xdma_201830_2 および xilinx_u50_gen3x16_xdma_201920_3 プラットフォーム。必要であれば、ほかのバージョンおよびプラットフォームを使用するように変更することもできます。また、このチュートリアルを実行するには、DDR および HBM をサポートするザイリンクス Alveo™ データセンター アクセラレーション カードが必要です。

重要:

  • 例を実行する前に、インストールの手順に従って Vitis コア開発キットをインストールしておく必要があります。『Vitis 統合ソフトウェア プラットフォームの資料』 (UG1416) のアプリケーション アクセラレーション開発フローの xclbinutil ユーティリティ。

  • ザイリンクス Alveo™ データセンター アクセラレータ カードでアプリケーションを実行する場合は、Alveo ポートフォリオ ページの手順に従って、カードとソフトウェア ドライバーを正しくインストールしてください。

チュートリアル リファレンス ファイルの入手

  1. ターミナルに git clone http://github.com/Xilinx/Vitis-Tutorials コマンドを入力します。

  2. Hardware_Acceleration/Feature_Tutorials/04-using-hbm ディレクトリに移動し、reference-files ディレクトリにアクセスします。

すべての xclbins の生成

  1. このチュートリアルでは、操作を進めた結果が表示されます。ただし、xclbins を生成する場合、複数の xclbin を生成するのに数時間かかることがあります。これらの構築を待たずにチュートリアルに集中できるように、これらすべてを事前に構築しておくことをお勧めします。次の手順では、次の 2 つのモジュールに必要な xclbins を構築します。

  2. makefile/MakefilePLATFORM 変数 (使用するプラットフォームを指定) をアップデートします。

    ifeq ($(memtype), DDR)
    PLATFORM :=xilinx_u200_gen3x16_xdma_1_202110_1
    else
    PLATFORM :=xilinx_u50_gen3x16_xdma_201920_3
    endif
    
  3. 次のコマンドを実行して、モジュール 2 (DDR から HBM への移行) 用に 3 つの xclbins を構築します。xclbins を構築する時間は約 7 ~ 8 時間です。これらは、並行して実行することもできます。

    cd 04-using-hbm/makefile;  make ddr_addSeq_build  hbm_addSeq_2Banks_build hbm_addSeq_overlap_build

  4. 次のコマンドを実行して、モジュール 3 (HBM 帯域幅の結果) 用の xclbins を 10 個構築します。次のコマンドはデフォルトで並列ジョブを実行するため、xclbins の構築には約 5 ~ 6 時間かかります。

    cd 04-using-hbm/makefile;  make build_without_rama build_with_rama

    マシンに複数の構築ジョブを並行して実行するのに十分なリソースがない場合は、次のコマンドを使用してこれらを常に直列で実行できますが、その場合は数時間かかる可能性があります。

    cd 04-using-hbm/makefile;  make noramajob-64 noramajob-128 noramajob-256 noramajob-512 noramajob-1024 ramajob-64 ramajob-128 ramajob-256 ramajob-512 ramajob-1024;

詳細は、./makefile/Makefile を参照してください。

チュートリアルの概要

  1. HBM の概要: DDR と HBM の構造的な違いと、HBM による理論的な最大帯域幅の概要を示します。

  2. DDR から HBM への移行: 既存の DDR ベースのアプリケーションを HBM に移行する手順を説明します。

  3. HBM 帯域幅の確認: アクセス パターンとトランザクション サイズに基づいて、1 つのカーネル ポートを使用して達成可能な帯域幅を表示します。

次の手順: HBM の概要



チュートリアルの開始に戻る

Apache ライセンス、バージョン 2.0 (以下「ライセンス」) に基づいてライセンス付与されています。本ライセンスに準拠しないと、このファイルを使用することはできません。 ライセンスのコピーは、http://www.apache.org/licenses/LICENSE-2.0 から入手できます。

適切な法律で要求されるか、書面で同意された場合を除き、本ライセンスに基づいて配布されるソフトウェアは、明示的または黙示的を問わず、いかなる種類の保証または条件もなく、「現状のまま」配布されます。 ライセンスに基づく権限と制限を管理する特定の言語については、ライセンスを参照してください。

Copyright© 2020–2021 Xilinx
XD018