EU Creates Self-Tuning Compiler

Robots use all kinds of embedded processors. New processors are being
created all the time. Writing software for all those processors requires
a compiler and the most commonly used compiler is GNU GCC, originally created by Richard
Stallman that made the Free Software and
Open Source
movements possible. The trouble is, a lot of work is
involved in optimizing a complex compiler like GCC for every new
processor that turns up. What if we could use AI and machine learning
techniques to do all that work? This idea was explored by a
group of EU research organizations. The result is MILEPOST GCC
4.4.0, the first machine learning enabled, self-tuning compiler that
can adapt to any architecture using an iterative feedback-directed
process. From the IBM
press release:

Initial IBM experiments conducted on IBM System p servers
achieved an average 18 percent performance improvement on
embedded-application benchmarks...it normally takes application
developers many months to get their software running at an acceptable
level of performance. Milepost GCC can reduce the amount of time it
takes to reach that level by a factor of 10.

The diagram above compares a block diagram of the current GCC
with MILEPOST GCC. At present MILEPOST GCC is a research compiler only
but because it's Free Software, you can download
MILEPOST GCC, use it, study it,
and even modify the code if you wish. To make modification easier, the
researchers have also created a plugin API called the Interactive
Compilation Interface (ICI). For more on how the machine learning
process works,
visit the MILEPOST website. You
can learn a lot about what's going on by reading the MILEPOST FAQ. There is
also a mailing
list for those who'd like to join the development project and help
work on this new generation of intelligent self-tuning compilation
tools.