Showing results for 
Search instead for 
Did you mean: 
Honored Contributor I

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



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