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

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

Document ID
UG1393
Release Date
2020-08-20
Version
2020.1 Japanese

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

CU の SLR への割り当ては、コンフィギュレーション ファイルで connectivity.slr オプションを使用し、v++ コマンド ラインで --config オプションで指定すると、v++ リンク プロセスで実行されます。コンフィギュレーション ファイルの 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 ごとに個別に指定する必要がありますが、この割り当て自体は必須ではありません。SLR が割り当てられていない場合は、v++ リンカーで自動的に CU が SLR に割り当てられます。

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