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

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

12.1.8. シンプルな関数で動作するOpenCLライブラリーの使用 (例1)

インテルでは、倍精度関数を3つ実装した (sqrtrsqrtdivide) RTLを含むライブラリーを使用する、シンプルなカーネルのOpenCL™ライブラリー・デザイン例を提供しています。

Example1.tgzターボールには、ライブラリー、カーネル、およびホストシステムが含まれています。example1.clカーネル・ソース・ファイルには、2つのカーネルが含まれます。カーネルのtest_libはライブラリー関数を使用します。すなわち、カーネルのtest_builtinは組み込み関数を使用します。ホストは両方のカーネルを実行し、それらの出力とランタイムを比較します。インテルでは、同じ方法でご自身がデザインしたライブラリー関数を検証することを推奨しています。

このデザイン例をコンパイルするには、次の作業を実行します。

  1. OpenCLデザイン例のウェブページから、example1.tgzを入手します。
  2. 入手したデザイン例をローカル・ディレクトリーに解凍します。
  3. 解凍したデザイン例のトップレベルに位置するREADME.htmlファイルの指示に従います。
    コンパイルされたホストプログラムを実行すると、次の出力が生成されます。
    Loading example1.aocx ...
    Create buffers
    Generate random data for conversion...
    Enqueuing both library and builtin in kernels 4 times with global size 65536
    Kernel computation using library function took 5.35333 seconds
    Kernel computation using built-in function took 5.39949 seconds
    Reading results to buffers...
    Checking results...
    Library function throughput is within 5% of builtin throughput.
    PASSED