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

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

6.6.2.1. ホスト・アプリケーションとKhronos ICD Loader Libraryのリンク

インテル® FPGA SDK for OpenCL™ は、Khronos Group™のOpenCL ICD拡張をサポートしています。 OpenCL ICD拡張機能を使用すると、システムに複数のOpenCL実装を行うことができます。OpenCL ICD Loader Libraryでは、インストールされているプラットフォームのリストを選択し、選択したOpenCLの実装に特化したOpenCL API呼び出しを実行できます。

SDKのホスト・ランタイム・ライブラリーに加えインテルは、OpenCL Specification version 1.0および、OpenCL Specification versions 1.1、1.2、2.0に実装されているAPIをサポートするICD Loader Libraryのバージョンを提供します。他のメーカーが提供するICDライブラリーを使用する場合、該当メーカーが発行している資料を参照し、ICDライブラリーのリンク方法を確認ください。

OpenCLホスト・アプリケーションをICD Loader Libraryにリンクする前に、ボードMMDライブラリーをロードするためのFCDを設定する必要があります。FCDをまだ設定していない場合、FPGAボードの管理 にて詳細を確認ください。

ICDとFCDがどちらも正しくセットアップされていることを確認してください。これは、 aocl diagnose –icd-only ユーティリティーを使用し確認することができます。このユーティリティーは対応するICDまたはFCDを作成し、ライブラリーがシステムにレジスターされているかどうかを確認します。

  • aocl diagnoseユーティリティーの出力にICD diagnostics PASSEDが表示されると、ホスト・アプリケーションを作成する際に、ホスト・アプリケーションは自動的にICD Loader Libraryに接続します。
  • aocl diagnoseユーティリティーがICDを検出しなかった場合、次の手順でICDの設定を確認してください。
    • Windowsシステムにおいては、regeditを管理者権限で開き、Windowsレジストリー・キーのHKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendorsに移動します。Nameの値はaltera_icd.dllになります。この動的ライブラリー・ファイルは、 <INTELFPGAOCLSDKROOT>/host/windows64/binにあります。TypeDWORDであり、Data00000000になります。レジストリー・キーは次の例ようになります。

      HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors] "alteracl_icd.dll"=dword:00000000

    • Linuxシステムにおいては、/etc/OpenCL/vendors/Altera.icdファイルがシステム内に存在し、libalteracl.soのテキストが含まれていることを確認してください。
  • aocl diagnoseユーティリティーがFCDを検出しなかった場合、次の手順でFCDの設定を確認してください。
    • Windowsシステムにおいては、HKEY_LOCAL_MACHINE\SOFTWARE\Intel\OpenCL\Boardsレジストリー・キーのライブラリーで、すべてのユーザーのインストールが選択されていることを確認してください。もしくは、 HKEY_CURRENT_USER\SOFTWARE\Intel\OpenCL\Boardsレジストリー・キーを確認してください。Nameの値は <path_to_the_mmd_library> になり、Dataは0に設定されたDWORDです。レジストリー・キーは、次の例のようになります。

      [HKEY_LOCAL_MACHINE\SOFTWARE\Intel\OpenCL\Boards] "c:\board_vendor a\my_board_mmd.dll"=dword:00000000

    • Linuxシステムの場合は、/opt/Intel/OpenCL/Boards/my_board.fcdファイルがシステムに存在し、メーカー固有のライブラリー名が含まれていることを確認してください (/data/board_vendor_a/libmy_board_mmd.soなど)。
      重要:
      • ボードメーカーが複数のライブラリーを提供している場合、それらが特定の順序になっているかを再度確認してください。ライブラリーをロードする正しい順序に関してはボードメーカーにお問い合わせください。ライブラリーは、ロードする順序通りにレジストリーに並べる必要があります。
      • インテル® Arria® 10 SoCボードにおいて、カスタム・プラットフォームにSDフラッシュ・カード・イメージをビルドする際は、libalteracl.soのテキストを含むAltera.icdファイルを作成ください。Altera.icdファイルを、カスタム・プラットフォームの/etc/OpenCL/vendorsディレクトリーに保存します。詳細は、Building the Software and SD Card Image for the Intel Arria 10 SoC Development Kit Reference Platformを参照ください。