Specify Schedule FMAX Target for Kernels
MAX
Target for KernelsThe schedule f
max
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 f
max
target:
- By using the[[intel::scheduler_target_fmax_mhz(source-level attribute.N)]]
- By directing theIntel® oneAPIto globally compile all kernelsDPC++/C++Compiler-Xsclock=<clock target in Hz/KHz/MHz/GHz or s/ms/us/ns/ps>option in thedpcppcommand.
If you use both the command-line option and source-level attribute, the kernel attribute takes the priority. Consider the following example:
cgh.single_task<class mykernel1>([=] {
...
});
cgh.single_task<class mykernel2>([=
]() [[intel::scheduler_target_fmax_mhz(200)]] {
...
});
In you direct the compiler to compile the above code with
–Xsclock=300MHz
in the
dpcpp
command, the compiler schedules kernel
mykernel1
at 300 MHz and kernel
mykernel2
at 200 MHz.
The schedule target f
max
determines the pipelining effort during compilation. Refer to the
Quartus compilation summary in the
report.html
file to get the actual fmax
value.