Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

O3 Optimization features

Hi ,

I just wanted to know the impact of O3 optimization flag with the aoc compiler...

The logic utilization seems to increase with O3.

What are all the features of O3 ?

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    O3 would automatically increase the number of compute units or SIMD lanes.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    -O3 sweeps various parameters to attempt to increase the work-items/s metric. It explores these parameters until there are diminising returns (like too large of a hardware footprint). When I use the -O3 flag I often take the final parameter set explored by the -O3 flag and use the same parameters for subsequent compiles into of repeatively using the -O3 flag.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I just want to add that, as explained in the altera optimization guide (http://www.altera.com/literature/hb/opencl-sdk/aocl_optimization_guide.pdf), the resource-driven optimizer will use maximum 85% of the logic. You can however force it to another value if you want.

    --- Quote Start ---

    If you do not specify the maximum logic utilization, the resource-driven optimizer uses a maximum logic utilization of 85%. To enable the resource-driven optimizer with a maximum FPGA hardware utilization of 85%, omit the --util flag, as shown below:

    aoc -O3 <your_kernel_filename>.cl

    To specify a maximum FPGA hardware utilization percentage other than 85% (for example, 50%), invoke the following command:

    aoc -O3 --util 50 <your_kernel_filename>.cl

    --- Quote End ---