Vitis コア開発キットには、ホストからカーネルおよびカーネルからホストへのデータの直接ストリーミングをサポートするプログラミング モデルが含まれるので、中間段階としてデータをグローバル メモリに移行する必要がありません。このプログラミング モデルを使用すると、より大きく遅いグローバル メモリ バンクと比較して最小限のストレージしか使用しないので、パフォーマンスと消費電力の両方がかなり改善されます。
ストリーミング データ転送を使用すると、次のような利点があります。
- ホスト アプリケーションは、カーネルからのデータ サイズを知る必要がありません。
- ホスト メモリのデータは、必要になると即座にカーネルに転送できます。
- 処理されたデータを必要な場合にカーネルから転送し戻すことができます。
ホストからカーネルおよびカーネルからホストへのストリーミングは、Alveo データセンター アクセラレータ カードなどの PCIe ベースのプラットフォームでのみサポートされます。この機能は Alveo データセンター アクセラレータ カード用の QDMA プラットフォームなどの特定のターゲット プラットフォームでのみ使用できます。ただし、カーネル間のストリーミング データ転送は PCIe ベースのプラットフォームとエンベデッド プラットフォームの両方でサポートされます。プラットフォームがストリーミングをサポートするように設定されていないと、アプリケーションは実行されません。