データセンター vs エンベデッド プラットフォーム - 2023.2 日本語

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語

エミュレーションは、データセンターとエンベデッド プラットフォームの両方でサポートされています。データセンター プラットフォームの場合、ホストアプリケーションが x86 サーバー用にコンパイルされ、デバイスはハードウェアをエミュレーションする別々の x86 プロセスとしてモデル化されます。ユーザー ホスト コードとデバイス モデル プロセスは、RPC 呼び出しを使用して通信します。CPU コードがエンベデッド Arm プロセッサで実行されるエンベデッド プラットフォームの場合、エミュレーション フローが QEMU (Quick Emulator) を使用して Arm ベースの PS サブシステムを模倣します。QEMU では、エンベデッド Linux を起動し、エミュレーション ターゲット上で Arm バイナリを実行できます。

データセンター アプリケーションのソフトウェア エミュレーション (sw_emu) およびハードウェア エミュレーション (hw_emu) を実行するには、アプリケーションを起動する前に、emconfigutil コマンドを使用してアクセラレータ カードのエミュレーション モデルをコンパイルし、XCL_EMULATION_MODE 環境変数を設定する必要があります。手順の詳細は、Alveo データセンター アクセラレータ カードでのエミュレーションの実行 を参照してください。

エンベデッド アプリケーションの sw_emu または hw_emu を実行するには、Arm-GCC を使用して Arm プロセッサ用のアプリケーションをコンパイルし、x86 プロセッサで QEMU エミュレーション環境を起動して、Arm プロセッサの実行環境をモデル化します。このためには、launch_emulator.py コマンドまたはビルド プロセス中に生成される launch_emulator.sh シェル スクリプトを使用する必要があります。このフローの詳細は、エンベデッド プロセッサ プラットフォームでのエミュレーションの実行 を参照してください。

ヒント: また、PS on x86 を使用したエンベデッド プロセッサ エミュレーション で説明するように、x86 プロセッサ上で直接、エンベデッド プロセッサ アプリケーションのシミュレーションをコンパイルして実行することもできます。x86 GCC を使用してコンパイルします。QEMU は必要ありません。