Visible to Intel only — GUID: GUID-B664DDE6-E35A-410D-82DB-40D136C64DEE
Visible to Intel only — GUID: GUID-B664DDE6-E35A-410D-82DB-40D136C64DEE
Specify Schedule FMAX Target for Kernels
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 [[intel::scheduler_target_fmax_mhz(N)]] source-level attribute.
- By directing the Intel® oneAPI DPC++/C++ Compiler to globally compile all kernels -Xsclock=<clock target in Hz/KHz/MHz/GHz or s/ms/us/ns/ps> option in the icpx command.
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 icpx -fsycl command, the compiler schedules kernel mykernel1 at 300 MHz and kernel mykernel2 at 200 MHz.
The schedule target fmax determines the pipelining effort during compilation. Refer to the Quartus compilation summary in the report.html file to get the actual fmax value.