Acovea: Analysis of Compiler Options via Evolutionary Algorithm

Frequently Asked Questions


by Scott Robert Ladd
30 May 2004
 


Related Articles
Acovea Overview
Analysis: Acovea 4.0.0 on Pentium 4 and Opteron
Acovea FAQ
A Description of the Genetic Algorithm

FAQ
 

How is Acovea licensed?
Acovea and all of its component libraries are licensed under the GNU General Public License version 2. If you wish to incorporate any part of Acovea into a closed-source product, I negotiate low-cost commercial licenses.

Have you finally started using the GNU autotools?
Yes. All of my libraries and applications now build on Unix and Unix-like systems using the traditional configure/make/make install process.

Does Acovea run under Windows?
Acovea is written in ISO Standard C++; it should work on any platform that has a conforming compiler.

Does Acovea support compiler/processor X?
Acovea comes with XML configuration files for GNU C and C++ versions 3.4 and 3.3 on Pentium and Opteron processors. You can easily modify these files to support other compilers and hardware platforms; I may also add more configurations in the coming months.

Is Acovea a general optimization tool?
Acovea is a proof-of-concept application that has practical value in studying how compiler settings affect generated code performance. I am generalizing the concepts for a broader set of applications.

Why does Acovea require specially-designed benchmarks? Why doesn't it use a Makefile?
Acovea was designed with "spikes" in mind -- short programs that implement a limited algorithm that runs quickly (2-10 seconds per run). Using the default evolutionary settings, Acovea will perform 4,000 compiles and runs of the benchmark; even with a very small and fast benchmark, this can take several hours. If your program takes a full minute to compiler, and another minute to run, Acovea will require 8,000 minutes, or more than 5.5 days to evolve optimal option sets!

Why did you write Acovea?
Many reasons -- it's a mental exercise, it scratches my itch about performance issues, and it's a chance to apply evolution to practical computing problems.


-- Scott


Copyright 2004
Scott Robert Ladd
All rights reserved.