From cTuning.org

(Difference between revisions)
Jump to: navigation, search

Gfursin (Talk | contribs)
(New page: '''CCC framework: Frequently Asked Questions:''' {{CMenu:CTools|CCC|}} == Do I really need CCC framework? I thought that compilers already produce perfect code == If you think that comp...)
Newer edit →

Revision as of 00:32, 16 March 2010

CCC framework: Frequently Asked Questions:

Navigation: cTuning.org > CTools > CCC

Do I really need CCC framework? I thought that compilers already produce perfect code

If you think that compilers produce optimal code, look carefully at the following motivation example (produced by CCC framework):

Example of complex optimization search spaces for susan_c from Collective Benchmark and MILEPOST GCC 4.4.0 after randomly selecting about 80 optimization flags:

fig_opt_case_susan_c_1.gif fig_opt_case_susan_c_2.gif

We can improve execution time of the program by nearly 2 times over the highest GCC optimization level after using CCC framework (we obtain similar results on LLVM, Open64, Intel and IBM compilers). We can also use CCC framework to perform multi-objective optimizations (selecting optimization cases on the optimization space frontier shown by red circles and blue dots) such as:

  • optimize both execution time and code size (important for optimizing libraries and embedded/mobile computing systems)
  • optimize just execution time (important for desktop computers and HPC servers/supercomputers)
  • optimize both execution time and compilation time (important for cloud computing services and real-time systems)

We also use MILEPOST GCC to correlate program features and behavior to predict good optimizations for unseen programs based on prior learning.

Is CCC framework similar to ACOVEA tool?

Yes, there are some similarities with the useful ACOVEA tool. However, the main difference is the possibility to share optimization knowledge with the community automatically using Collective Optimization Database (to enable learning of optimizations across multiple programs and architectures in MILEPOST GCC) and the possibility for third-party high-level plugins to implement various search techniques besides genetic algorithms.

Locations of visitors to this page