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

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

5.1. Guidelines for Naming the Kernel

Intel® recommends that you include only alphanumeric characters in your file names.
  • Begin a file name with an alphanumeric character.
    If the file name of your OpenCL™ application begins with a nonalphanumeric character, compilation fails with the following error message:
    Error: Quartus compilation FAILED
    See quartus_sh_compile.log for the output log.
  • Do not differentiate file names using nonalphanumeric characters.
    The Intel® FPGA SDK for OpenCL™ Offline Compiler translates any nonalphanumeric character into an underscore ("_"). If you differentiate two file names by ending them with different nonalphanumeric characters only (for example, myKernel#.cl and myKernel&.cl), the offline compiler translates both file names to <your_kernel_filename>_.cl (for example, myKernel_.cl).
  • For Windows systems, ensure that the combined length of the kernel file name and its file path does not exceed 260 characters.
    64-bit Windows 7 and Windows 8.1 have a 260-character limit on the length of a file path. If the combined length of the kernel file name and its file path exceeds 260 characters, the offline compiler generates the following error message:
    The filename or extension is too long.
    The system cannot find the path specified.

    In addition to the compiler error message, the following error message appears in the <your_kernel_filename>/quartus_sh_compile.log file:

    Error: Can’t copy <file_type> files: Can’t open 
    <your_kernel_filename> for write: No such file or directory

    For Windows 10, you can remove the 260-character limit. For more information, see your Windows 10 documentation.

  • Do not name your .cl OpenCL kernel source file "kernel", "Verilog", or "VHDL" as they are reserved keywords.
    Naming the source file kernel.cl, Verilog.cl, or VHDL.cl causes the offline compiler to generate intermediate design files that have the same names as certain internal files, which leads to a compilation error.