現在のところ、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 ...