This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Help with identifing all cost models in GCC to make it adaptable ?..


Dear All,

We continue developing adaptable GCC (MILEPOST GCC) and we plan to have more
results this fall on selecting good optimization passes and their orders 
to improve program execution time, reduce code size and compilation time 
across different architectures automatically using statistical techniques and machine
learning. 

As I mentioned during last GCC Summit, we are now ready to look at a finer-grain 
level optimizations, i.e. how to automatically tune all GCC optimization cost models 
within passes to decide whether to apply specific transformations and 
what should be their parameters. 

To do that, ideally we need to identify all the cost models within GCC with their
dependencies, and add support to our Interactive Compilation Interface to be able
to continuously monitor and bias their behavior to automatically (re)tune them
on new architectures. 

I am afraid it will take me ages to find myself all the cost models within GCC,
so I would be very grateful for any help in identifying those cost models 
(with the pass names and places in the source code) particularly that are known 
to be hard to tune manually or which may have complex interactions 
with other transformations (we should be able to capture those interactions automatically)!

Ideally, we would like to make GCC a fully modular compiler which will be tuned
(mostly) automatically to any particular architecture using a given set of 
related optimizations. We hope that it may simplify evolution of the compiler
and it will be much easier to add new optimizations (even by end-user through
plugins) since developers will have less problems thinking how to plug them
into the current hardwired optimization heuristic.

So I hope that with your help we can make GCC a best optimizing compiler,
and not only for x86 but for any architecture ;) ...

By the way, in case someone is interested, you can find some of our ideas 
on self-tuning MILEPOST GCC here:
http://gcc-ici.sourceforge.net/papers/fmtp2008.pdf

Sorry for bothering and looking forward to hearing from you,
Grigori

P.S. I will be on vacations soon so you can also contact Abid Malik from INRIA (in CC)
who will help adding support to GCC-ICI to monitor optimization cost models ...

================================================
Grigori Fursin, PhD
Research Scientist, INRIA Saclay, France

http://unidapt.org - tackling the complexity of
future computing systems using machine learning  



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]