Visible to Intel only — GUID: kpe1518204453702
Ixiasoft
Visible to Intel only — GUID: kpe1518204453702
Ixiasoft
7.23. Compiling Your Kernel Incrementally (-incremental)
If you have a large, mutli-kernel system and you only want to modify a single kernel, the Intel® FPGA SDK for OpenCL™ Offline Compiler can reuse the results from a previous compilation, and only synthesize, place, and route the kernel(s) that you have modified. Leveraging this incremental compilation feature allows you to dramatically reduce compilation time.
Example incremental compilation flow:
aoc -incremental <your_kernel_filename>.cl
/*****Update kernels in your OpenCL design*****/
aoc -incremental -fast-compile <your_kernel_filename>.cl
- Perform an initial setup compilation in a clean directory, with the incremental mode enabled, by invoking the aoc -incremental <your_kernel_filename>.cl command.
Note: You must enable the -incremental flag when performing the setup compilation.
This setup compilation does not reuse any result from a previous compilation. When performing a setup compilation, do not include the -fast-compile offline compiler command option in the aoc command because it increases the probability of encountering errors in future incremental compilations.
Tip: Intel® recommends that you perform a fresh setup compilation whenever compilation time is not a concern because it reduces the probability of compilation failures in future incremental compilations. Performing many consecutive incremental compilations increases the probability of compilation failures. It also decreases the hardware performance and efficiency of the generated .aocx file. - Modify the kernels in your OpenCL design.
Your design may contain multiple .cl files.
- Perform an incremental compilation on your design. For optimal compilation speed, also include the -fast-compile flag in your aoc command:
aoc -incremental -fast-compile <your_kernel_filename>.cl
- Review the Incremental compile section of the report.html file to verify the changes that the offline compiler has detected.
The report.html file is in the <your_kernel_filename>/reports directory.