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

ID 683846
Date 10/04/2021
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

7.8. Specifying Schedule Fmax Target for Kernels (-clock=<clock_target>)

The schedule fmax target determines the pipelining effort the scheduler attempts during the scheduling process.

You can use one or both of the following options to specify the kernel specific fmax target:

  • By using the __attribute__((scheduler_target_fmax_mhz(__x))) source-level attribute.
  • By directing the Intel® FPGA SDK for OpenCL™ Offline Compiler to globally compile all kernels with -clock=<clock target in Hz/KHz/MHz/GHz or s/ms/us/ns/ps> option in the aoc command.
If you use both the command line option and source level attribute, the kernel attribute takes the priority. Consider the following example:
kernel void k1(){ 
 ... 
}  
__attribute__((scheduler_target_fmax_mhz(200))) 
kernel void k2(){ 
 
...
}

In you direct the offline compiler to compile the above code with -clock=300MHz in the aoc command, the compiler schedules kernel k1 at 300 MHz and kernel k2 at 200 MHz.

Important: The schedule target fmax determines the pipelining effort during compilation. Run Intel® Quartus® Prime Pro Edition compiler to get the actual fmax value.