インテルのみ表示可能 — GUID: ewa1425668151645
Ixiasoft
インテルのみ表示可能 — GUID: ewa1425668151645
Ixiasoft
5.5.5.2. パイプハンドルの宣言
パイプの読み書きを行うにあたり、カーネルはパイプ変数を対応する各API呼び出しに渡す必要があります。
パイプの <type> は、スカラーサイズが1024ビット以下の任意のOpenCL™組み込みスカラーまたはベクトルデータ型にすることができます。また、スカラーサイズで1024ビット以下のスカラーまたはベクトルデータ型で構成される任意のユーザー定義の型にすることも可能です。
次のパイプハンドル宣言を参照ください。
__kernel void first (pipe int c)
__kernel void second (write_only pipe int c)
最初の例では、int型の読み出し専用パイプハンドルをカーネルfirstで宣言しています。2番目の例では、書き込み専用パイプをカーネルsecondで宣言しています。カーネルfirstはパイプcからの読み取りのみを行うことができ、カーネルsecondはパイプcへの書き込みのみを行うことができます。
インテル® OpenCLシステムでは、1つのカーネルのみがパイプを読み取ることができます。同様に、1つのカーネルのみがパイプに書き込むことができます。I/O以外のパイプに、対応する読み取り動作と書き込み動作が少なくとも1つずつない場合、オフライン・コンパイラーはエラーを発行します。
インテル® FPGA SDK for OpenCL™ I/Oパイプの実装については、io属性を使用したI/Oパイプの実装を参照してください。