Vitis コア開発キットでは、ホスト コードは業界標準の OpenCL API を使用した C または C++ 言語で記述します。Vitis コア開発キットには、OpenCL 1.2 エンベデッド プロファイル準拠ランタイム API が含まれます。
通常、ホスト コードは次の 3 つのセクションに分けることができます。
- 環境の設定。
- 1 つまたは複数のカーネルの実行を含むコア コマンドの実行。
- リソースのポスト プロセスとリリース。
注記:
Vitis コア開発キットでは、OpenCL インストーラブル クライアント ドライバー (ICD) 拡張 (
cl_khr_icd
) がサポートされます。これにより、OpenCL を複数インプリメンテーションして、同じシステム内に共存させることができます。インストール方法の詳細は、OpenCL インストーラブル クライアント ドライバー ローダー を参照してください。注記: ホスト プログラムをマルチスレッドで実行する場合は、Vitis コア開発キットアプリケーションからの
fork()
システム呼び出しを呼び出す際に注意が必要です。fork()
は、すべてのランタイム スレッドを複製するわけではありません。このため、子プロセスを完全な Vitis コア開発キットのアプリケーションとして実行することはできません。Vitis ソフトウェア プラットフォーム アプリケーションから別のプロセスを起動する場合は、posix_spawn()
を使用することをお勧めします。