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

アクセラレーション FPGA アプリケーションの最適化: ブルーム フィルターの例

バージョン: Vitis 2021.2

概要

FPGA 上でアプリケーションをアクセラレーションする手法は、複数の段階で構成されます。

  • アプリケーションの設計: どのソフトウェア関数を FPGA カーネルにマップするか、どれくらい並列処理が必要か、どのように適用するかなど、アプリケーションのアーキテクチャに関する重要事項を決定します。

  • パフォーマンス目標を達成するためのアクセラレータの開発: パフォーマンス目標を達成できるカーネル アーキテクチャを作成するため、ソース コードを変更し、プラグマを適用して、カーネルをインプリメントします。

  • ホスト コードの最適化: アプリケーションのアクセス パターン、データの動き、CPU および FPGA のアイドル時間を調べ、パフォーマンス目標を満たすためにコードをアップデートします。

このチュートリアルでは、ベースライン アプリケーションから開始し、アプリケーションをプロファイリングしてハードウェア アクセラレーションの可能性を調べます。このチュートリアルのアプリケーションでは、検索プロファイルに基づいてユーザーの関心に一致するドキュメントを見つけるため、ドキュメントの入力ストリームを検索します。

ブルーム フィルター アプリケーションは、構造化されていない電子メールやテキスト ファイルのデータを検索し、特定のユーザーに関連したドキュメントを検索して通知を送信するなど、データ分析で使用されます。

開始前の確認事項

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

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

  • BASH Linux シェル コマンド。

  • 2021.2 Vitis コア開発キット リリースおよび xilinx_u200_gen3x16_xdma_1_202110_1 プラットフォーム。必要であれば、ほかのバージョンおよびプラットフォームを使用するように変更することもできます。

このチュートリアルでは、設計したアクセラレータを FPGA 上で実行するので、ザイリンクス Alveo™ U200 データセンター アクセラレータ カードがこのチュートリアルを実行するために設定されていることが必要です。アクセラレータを実行するのに必要な複数の xclbin ファイルを生成するには 6 ~ 7 時間かかる可能性があるので、U200 カード用に生成済みの xclbin ファイルが提供されています。これらの生成済みファイルを使用するには、ハードウェア カーネルのビルド時またはハードウェアでのアクセラレータの実行時に、SOLUTION=1 引数を追加する必要があります。

重要:

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

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

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

  1. チュートリアルの内容を入手するには、ターミナルに「git clone http://github.com/Xilinx/Vitis-Tutorials」と入力します。

  2. Hardware_Acceleration/Design_Tutorials/02-bloom ディレクトリに移動します。

    • cpu_src には、変更前のソース コードが含まれます。

    • images に、このチュートリアルの図を示します。

    • Makefile この演習で使用するコマンドは、makefile ディレクトリにあるファイルで説明されています。異なるプラットフォームをターゲットとする場合は、PLATFORM 変数を使用します。

    • reference_file には、パフォーマンスを向上するために変更されたカーネルおよびホストに関連するファイルが含まれます。

  3. 次のように、大きなファイルをコピーして抽出します。

    wget https://www.xilinx.com/bin/public/openDownload?filename=xclbin_save.tar.gz -O xclbin_save.tar.gz
    tar -xvzf  xclbin_save.tar.gz
    

    ヒント: xclbin_save には、make run コマンドで SOLUTION=1 を設定してハードウェア上で実行する際に使用可能な xclbin ファイルが含まれます。

チュートリアルの概要


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

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

Copyright© 2020–2021 Xilinx
XD018