Vitis コア開発キットでは、2 つのカーネル間のストリーミングデータ転送がサポートされており、グローバル メモリを介せずに、カーネル間でデータを直接転送できます。ただしこのプロセスは、カーネル間 (K2K) のストリーミング データ転送 に説明されているように、カーネル コード自体にインプリメントし、カーネル ビルド プロセスで指定する必要があります。
注記: フリーランニング カーネルとのストリーミング接続もサポートされます (フリーランニング カーネル を参照)。
カーネルのストリーミング データ ポートは、v++
でのリンク時に --connectivity.sc
オプション オプションを使用して接続できます。このオプションは、コマンド ラインで指定するか、Vitis コンパイラ コマンド に説明されるように、--config
オプションで指定した config
ファイルから指定します。
プロデューサー カーネルのストリーミング出力ポートをコンシューマー カーネルのストリーミング入力ポートに接続するには、v++
コンフィギュレーション ファイルで次のように connectivity.stream_connect
オプションを使用します。
[connectivity]
#stream_connect=<cu_name>.<output_port>:<cu_name>.<input_port>:[<fifo_depth>]
stream_connect=vadd_1.stream_out:vadd_2.stream_in
説明:
-
<cu_name>
:connectivity.nk
オプションで指定される CU のインスタンス名 (複数のカーネル インスタンスの作成 を参照)。 -
<output_port>
または<input_port>
: ストリーミング カーネルのコーディング ガイドライン または フリーランニング カーネルのコーディング ガイドライン で説明されている、プロデューサーまたはコンシューマー カーネルで定義されているストリーミング ポート。 -
[:<fifo_depth>]
: 2 つのストリーミング ポート間に指定した深さの FIFO を挿入して、ストールが発生しないようにします。値は整数で指定します。