This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
brief update on 2 GSOC'09 GCC projects
- From: "Grigori Fursin" <grigori dot fursin at inria dot fr>
- To: <gcc at gcc dot gnu dot org>
- Cc: "Liang Peng" <pengliang at ict dot ac dot cn>, "Yuanjie Huang" <huangyuanjie at ict dot ac dot cn>, <ctuning-discussions at googlegroups dot com>, <ctuning-announce at googlegroups dot com>, "Chengyong Wu" <cwu at ict dot ac dot cn>, "Olivier Temam" <otemam at gmail dot com>, "Yang Chen" <chenyang at ict dot ac dot cn>, "Ian Lance Taylor" <iant at google dot com>
- Date: Wed, 2 Sep 2009 16:41:25 +0200
- Subject: brief update on 2 GSOC'09 GCC projects
Dear all,
I got a few minutes between vacations and wanted to give you a small update
on the GSOC'09 developments for GCC by Liang Peng and Yunajie Huang from ICT, China
(in CC).
The projects were about extending GCC to enable fine-grain optimization selection
(GRAPHITE optimizations, unrolling, vectorization, inliing etc) and reordering
through ICI and plugins, provide XML representation of the compilation flow.
Another project was about enabling generic function cloning, fine-grain optimization of
clones and program instrumentation (i.e. adding call-backs during compilation) to enable
run-time selection of optimizations (using standard machine learning techniques such as
decision trees and predictive modelling).
I think students did a very good job and though not everything was implemented, I think
it was a very good start. The students documented their developments here:
http://ctuning.org/wiki/index.php/CTools:ICI:Projects:GSOC09:Function_cloning_and_program_instrument
ation
http://ctuning.org/wiki/index.php/CTools:ICI:Projects:GSOC09:Fine_grain_tuning
We use cTuning (performance tuning) collaborative website since many techniques originate from there
and they are still a bit experimental but since the developments were successful and my colleagues
are now extending MILEPOST GCC to improve program execution time, code size and compilation time
automatically,
since now on we plan to sync everything with GCC mainline and continue this work using GCC mailing
list
and the website. We will continue using cTuning more for collaborative program optimizations and
tuning of GCC optimization heuristic. When Liang and Yuanjie are back from vacations and I am back
from the wedding trip in 3
weeks, we will continue discussions about that ...
In the mean time, you can check the developments here using GCC ICI SVN branch called adapt for GCC
4.4.0:
http://gcc-ici.svn.sourceforge.net/viewvc/gcc-ici/branches/gcc-4.4.0-ici-2.0-adapt/
(again we hope to move all the developments from the external places to the GCC main site and to
the mainline shortly). If you are interested in performance tuning and some iterative optimization
results for GCC (and comparison
with other compilers) including profitable cases for SPEC and EEMBC benchmarks that improve program
execution time, code size and compilation time, you can check the Collective Optimization Repository
here:
http://ctuning.org/cdatabase
The comments about those developments and suggestions to Yunajie and Liang are welcome!
By the way, I think the important part of GSOC'09 was that the students got much more familiar with
GCC
and I hope that they and their research group in ICT will continue using and extending GCC from now
on,
and we will hopefully see some more interesting research results soon as well on automating program
fine-grain optimization and compiler optimization heuristic construction using collective
compilation and machine learning techniques ...
I have to leave now and will get back in touch at the end of September ;) ...
Take care,
Grigori