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

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

12.3.1. カーネル・インターフェイスに向けたハードウェア

インテル® FPGA SDK for OpenCL™オフライン・コンパイラーは、カーネルのパイプライン周辺にハードウェアを生成します。一部のOpenCL™アプリケーションでは、これらのインターフェイスのハードウェア・コンポーネントは不要です。

カーネル・パイプライン周辺のハードウェアは、次のような機能において必要です。

  • ワークアイテムおよびワークグループIDの振り分け
  • カーネル引数とワークグループのサイズに関するホストとの通信

図 20 は、オフライン・コンパイラーが次のカーネルをコンパイルする際に生成するハードウェアを表しています。

__kernel void my_kernel(global int* arg)
{
    …
    int sum = 0;
    for(unsigned i = 0; i < n; i++)
    {
        if(sum < m) sum += val;
    }
    *arg = sum;
    …
}
図 20. カーネル・パイプライン周辺に インテル® FPGA SDK for OpenCL™オフライン・コンパイラーが生成するインターフェイス・ハードウェア