計算ユニットの SLR への割り当て - 2020.2 Japanese

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

Document ID
UG1393
Release Date
2021-03-22
Version
2020.2 Japanese

現在のところ、データセンター アクセラレータ カード上のザイリンクス デバイスでは、複数の SLR (Super Logic Region) を含むスタックド シリコン デバイスを使用して、グローバル メモリを含むデバイス リソースを提供しています。最高のパフォーマンスにするには、ポートをグローバル メモリ バンクに割り当てる際、カーネル ポートのメモリへのマップ に説明されているように、CU インスタンスを接続されているグローバル メモリと同じ SLR に割り当てることをお勧めします。この場合、カーネル インスタンスまたは CU を手動でグローバル メモリと同じ SLR に割り当て、最高のパフォーマンスが得られるようにします。

CU は、コンフィギュレーション ファイルで connectivity.slr オプションを使用すると、SLR に割り当てることができます。設定ファイルの connectivity.slr オプションの構文は次のとおりです。

[connectivity]
#slr=<compute_unit_name>:<slr_ID>
slr=vadd_1:SLR2
slr=vadd_2:SLR3

説明:

  • <compute_unit_name>: connectivity.nk オプションで定義されている CU のインスタンス名 (複数のカーネル インスタンスの作成 を参照)、または複数の CU が指定されていない場合は <kernel_name>_1
  • <slr_ID>: CU を割り当てる SLR 番号。SLR0、SLR1、という形式で指定します。

CU を SLR に割り当てる場合は、CU ごとに個別に指定する必要がありますが、この割り当て自体は必須ではありません。割り当てた CU が別の SLR にあるグローバル メモリに接続される場合、ツールは自動的に SLR クロッシング レジスタを挿入してタイミング クロージャを達成しやすくします。SLR が割り当てられていない場合は、v++ リンカーで自動的に CU が SLR に割り当てられます。

設定ファイルに SLR 割り当てを含めたら、v++ リンク プロセスで --config オプションを使用して設定ファイルを指定します。
v++ -l --config config_slr.cfg ...