インテル® FPGA SDK for OpenCL™プロ・エディション: プログラミング・ガイド

ID 683846
日付 4/01/2019
Public
ドキュメント目次

5.5.6.3. ホストがアクセス可能なパイプの作成

OpenCL 2.2 API SpecificationSection 5.4.1で定義されているclCreatePipe関数は、flagsパラメーターを含んでいます。clCreatePipe関数のflagsの有効値は、CL_MEM_READ_WRITECL_MEM_HOST_NO_ACCESSです。 flagsへ渡された値が0の場合、このフラグはどちらも暗黙的にデフォルトとして渡されるとSpecificationは定義しています。

ホストのパイプへのアクセス (読み取りまたは書き込み) を有効にするため、cl_intel_fpga_host_pipe拡張機能は、次の2つのflags値をclCreatePipeに対し正当なものにします。

  • CL_MEM_HOST_READ_ONLY
  • CL_MEM_HOST_WRITE_ONLY

このflagsのうち1つがclCreatePipe関数に渡されると、対応するcl_memオブジェクトは、最初の引数としてclReadPipeIntelFPGAclWritePipeIntelFPGA関数に渡されます。cl_intel_fpga_host_pipe拡張の残りの部分において、このようなパイプはホストパイプとして表されます。

警告: CL_MEM_HOST_READ_ONLYCL_MEM_HOST_WRITE_ONLYを同じパイプに指定すること、または、このどちらかの値をCL_MEM_READ_WRITECL_MEM_HOST_NO_ACCESSのどちらか、もしくは両方と混在させることは不当です。無効なflagsの組み合わせはOpenCLランタイムに検出され、clCreatePipeが、CL_INVALID_VALUEエラーを返す原因になります。