Today IBM announced the open source availability of some pretty cool sounding technology
IBM today announced the public availability of Milepost GCC, the world’s first open source machine learning compiler. The compiler intelligently optimizes applications, translating directly into shorter software development times and bigger performance gains. Initial IBM experiments conducted on IBM System p servers achieved an average 18 percent performance improvement on embedded-application benchmarks.
It looks (from the web site) like this is technology initially grew out of the embedded market and is now growing to be more general. At first glance the goals put me in mind of some of what Gedae is doing, but there are significant differences in the approach, such as the machine learning angle.
The new compiler, a result of collaboration between IBM and its partners in the European Union-funded Milepost consortium, is expected to dramatically reduce time-to-market for new software designs. Applications can now be more quickly tuned for the targeted architecture, shortening the development cycle. For example, when a company wants to develop a new mobile phone, 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.
“Our technology automatically learns how to get the best performance from the hardware — whether mobile phones, desktops, or entire systems — the software will run faster and use less energy,” noted Dr. Bilha Mendelson, Manager of Code Optimization Technologies at IBM Research – Haifa. “We opened the compiler environment so it can access artificial intelligence and machine learning guidance to automatically determine exactly what specific optimizations should be used and when to apply them to ramp-up performance.”
Also, an interesting web 2.0 twist on stodgy old compiler technology
As a by-product of the Milepost technology, the consortium has launched a code-tuning web site available to the development community. Developers can upload their software code to the site and automatically get input on how to tune their code so it works faster.