Genetic Algorithms for GCC Optimization
captain igor writes "For the power users in the house that enjoy taking the time to squeeze every last drop of performance out of their programs, here's an interesting little program I ran across today call Acovea. Out since 2003, Acovea's main function is using genetic algorithms to determine an optimal set off Gcc optimization flags to squeeze the most performance out of a given program. Certainly an interesting concept, definitely worth a look. Some nice results on a P4 and Opteron can be found here "
Kids today are tyrants. They contradict their parent, gobble their food, and tyrannize their teachers. - Socrates 400 BC
I just see this as an extension to the whole "extreme programming" idea of "code something, anything, until you get the output you want for your test cases, then stop coding".
It's a good idea in theory, but it seems much better to have a well thought out approach.
I've had enough abrasive sigs. Kittens are cute and fuzzy.
poetic that an evolutionary algorithm, analogous to that in nature which evolved the human brain, would be used to optimize compiler options in pareto-optimal search spaces (different platforms).
Brute forcing all permutations is a very silly way to do this, IMHO. Compare an EA solving close to optimally the travelling salesman problem in a short time with the np-completeness of finding the absolute peak. 99% is good enough if 100% takes longer than the age of the universe to figure out for large inputs.
Also, various compiler choices change the binary sizes, cache hit rates, etc, which might lead to solution spaces in which there are many peaks (pareto-optimality). e.g. code size vs memory requirements.
The matrix is coming. Even Indian programmers will be out of jobs soon! haha
I think I'll volunteer to work on this, haven't been more excited about a project in a long time. (that is, after my real work finishes--I'm a gardener--pay is better Lol)