2021.1 Vitis™ アプリケーション アクセラレーション開発フロー チュートリアル2020.2 Vitis アプリケーション アクセラレーション開発フロー チュートリアル |
アクセラレーション FPGA アプリケーションの最適化: ブルーム フィルターの例¶
概要
FPGA 上でアプリケーションをアクセラレーションする手法は、複数の段階で構成されます。
アプリケーションの設計: どのソフトウェア関数を FPGA カーネルにマップするか、どれくらい並列処理が必要か、どのように適用するかなど、アプリケーションのアーキテクチャに関する重要事項を決定します。
パフォーマンス目標を達成するためのアクセラレータの開発: パフォーマンス目標を達成できるカーネル アーキテクチャを作成するため、ソース コードを変更し、プラグマを適用して、カーネルをインプリメントします。
ホスト コードの最適化: アプリケーションのアクセス パターン、データの動き、CPU および FPGA のアイドル時間を調べ、パフォーマンス目標を満たすためにコードをアップデートします。
このチュートリアルでは、ベースライン アプリケーションから開始し、アプリケーションをプロファイリングしてハードウェア アクセラレーションの可能性を調べます。このチュートリアルのアプリケーションでは、検索プロファイルに基づいてユーザーの関心に一致するドキュメントを見つけるため、ドキュメントの入力ストリームを検索します。
ブルーム フィルター アプリケーションは、構造化されていない電子メールやテキスト ファイルのデータを検索し、特定のユーザーに関連したドキュメントを検索して通知を送信するなど、データ分析で使用されます。
開始前の確認事項¶
ヒント: このチュートリアルには、約 2 時間かかります。
このチュートリアルでは、次を使用します。
BASH Linux シェル コマンド。
2021.1 Vitis コア開発キット リリースおよび xilinx_u200_gen3x16_xdma_1_202110_1 プラットフォーム。必要であれば、ほかのバージョンおよびプラットフォームを使用するように変更することもできます。
このチュートリアルでは、設計したアクセラレータを FPGA 上で実行するので、ザイリンクス Alveo™ U200 データセンター アクセラレータ カードがこのチュートリアルを実行するために設定されていることが必要です。アクセラレータを実行するのに必要な複数の xclbin
ファイルを生成するには 6 ~ 7 時間かかる可能性があるので、U200 カード用に生成済みの xclbin
ファイルが提供されています。これらの生成済みファイルを使用するには、ハードウェア カーネルのビルド時またはハードウェアでのアクセラレータの実行時に、SOLUTION=1
引数を追加する必要があります。
重要:
例を実行する前に、『Vitis 統合ソフトウェア プラットフォームの資料』 (UG1416) のアプリケーション アクセラレーション開発フローのインストールの手順に従って、Vitis コア開発キットをインストールしてください。
Alveo カードでアプリケーションを実行する場合は、Alveo ポートフォリオ ページの手順に従って、カードとソフトウェア ドライバーを正しくインストールしてください。
チュートリアル リファレンス ファイルの入手¶
チュートリアルの内容を入手するには、ターミナルに
git clone http://github.com/Xilinx/Vitis-Tutorials
と入力します。Hardware_Accelerators/Design_Tutorials/02-bloom
ディレクトリに移動します。cpu_src
には、変更前のソース コードが含まれます。images
に、このチュートリアルの図を示します。この演習で使用するコマンドは、
makefile
ディレクトリのMakefile
で説明されています。異なるプラットフォームをターゲットとする場合は、PLATFORM
変数を使用します。reference_file
には、パフォーマンスを向上するために変更されたカーネルおよびホストに関連するファイルが含まれます。
次のように、大きなファイルをコピーして抽出します。
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
ファイルが含まれます。
チュートリアルの概要¶
Copyright© 2020 Xilinx