Intel® FPGA SDK for OpenCL™ Standard Edition: Programming Guide

ID 683342
Date 4/22/2019
Public
Document Table of Contents

6.6.3.1. Linking to the ICD Loader Library on Windows

Before linking your Windows OpenCL™ host application to the ICD Loader Library, ensure that you have set up FCD correctly. The Intel® FPGA SDK for OpenCL™ utility aocl link-config will then automatically output the required flags for linking to the ICD Loader Library.
Attention: For Windows systems, you must use the ICD in conjunction with the FCD. If the custom platform from your board vendor does not currently support FCD, you can set it up manually.
If you need to manually set up FCD support for your Custom Platform, perform the following tasks:
  1. Consult with your board vendor to identify the libraries that the FCD requires. Alternatively, you can invoke the aocl ldlibs command and identify the libraries that your OpenCL application requires.
  2. Specify the libraries in the registry key HKEY_LOCAL_MACHINE\SOFTWARE\ Intel® \OpenCL\Boards. Specify the value name to be the path to the library, and specify the data to be a DWORD that is set to 0.
    Attention: If your board vendor provides multiple libraries, you might need to load them in a particular order. Consult with your board vendor to determine the correct order to load the libraries. List the libraries in the registry in their loading order.

To enumerate board vendor-specific libraries, FCD scans the values in the HKEY_LOCAL_MACHINE\SOFTWARE\ Intel® \OpenCL\Boards registry key. For each DWORD value that is set to 0, the FCD Loader opens the corresponding DLL that is specified in the value name.

Consider the following registry key value:

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

The FCD loader scans this value and loads the library my_board_mmd.dll from the board_vendor a folder.

Attention:

If your host application fails to run while it is linking to the ICD, ensure that the HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors registry key contains the following value:

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