Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16603 Discussions

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

Altera_Forum
Honored Contributor II
1,047 Views

Hello, 

 

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 (https://www.altera.com/en_us/pdfs/literature/hb/opencl-sdk/aocl-best-practices-guide.pdf), "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
Reply