Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
16026 Discussions

Confusion regarding kernel attributes (compute units, simd lanes) when not specified

Honored Contributor II



I'm having a bit of trouble trying to understand how AOC behaves when kernel attributes are not declared (e.g. num_compute_units, num_simd_work_items and reqd_work_group_size). 


According to the best practices guide (, "the offline compiler does not automatically determine the optimal number of compute units for a kernel.". However, a few pages after, the Resource-driven Optimization is presented where "during compilation, the offline compiler examines multiple values of the num_compute_units and num_simd_work_items kernel attributes in various combinations, and applies a set of heuristics to improve a base design incrementally.". This led me to a confusion: does the aoc automatically attempt to find values for num_compute_units and other attributes or not? I first thought that the Resource-driven optimizer was enabled only when -O3 flag was passed, but the changelog of this guide points that -O3 was deprecated. 


Thank you in advance.
0 Kudos
0 Replies