Acovea

What's New in 5.0
and
Frequently Asked Questions



 

Acovea Logo

Downloads
acovea-gtk-1.0.1.tar.gz
libacovea-5.1.1.tar.gz
libevocosm-3.1.0.tar.gz
libcoyotl-3.1.0.tar.gz

About Acovea
Acovea Overview
A GUI for Acovea: Acovea-GTK
Configuration Files
FAQ
About the Genetic Algorithm

Analyses
Acovea 5.0, GCC 4.0, Opteron
Acovea 5.0, GCC 4.0, Pentium 4
Acovea 5.0, GCC 3.4, Opteron
Acovea 4.0, GCC 3.4, P4, AMD64 (May-04)
Acovea 3.3, GCC 3.x, P4 (Dec-03)

Licensing
GNU General Public License (GPL)
Commercial License

If you find this article useful, please consider supporting the author's free software efforts with a donation, no matter how small.

What's New in Acovea 5.0?

  • Improved analysis to give you "better" solutions
  • Makefile support
  • Automatic generation of comparisons between Acovea solutions and baselines
  • A new GUI interface, Acovea-GTK
  • A generic engine designed to be wrapped in different drivers

FAQ

  • What is Acovea good for?
    In terms of compilers, Acovea is akin to a profiler, in that booth tools help optimize the performance-critical sections of your code. A profiler tells you which functions use the most execution time; Acovea, in turn, tells you which compiler switches produce the fastest code for such functions.

    Another use for Acovea is in algorithm tuning. Many algorithms depend on various factors; a B-tree's performance, for example, depends on its "order." Acovea can help find optimal selections for such factors.
  • Should I use Acovea to optimize the complete build of a Linux system (aka, "the Gentoo question")?

    No.


    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 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 compile, and another minute to run, Acovea will require 8,000 minutes, or more than 5.5 days to evolve optimal option sets!

    Results from running Acovea against a few algorithms should NOT be applied across a broad spectrum of applications. For my Gentoo-based systems, I don't set the value of make.conf's CFLAGS based on Acovea results; I build specific, time-critical applications using algorithm-specific options.
  • 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.
  • Does it work with Makefiles?
    Yes. See the gcc34_makefile.acovea configuration file and Makefile.example.
  • 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++ version 3.4 on Pentium and Opteron processors. You can easily modify these files to support other compilers and hardware platforms; I may also add more configurations to this web site as I complete them.
  • Is Acovea a general optimization tool?
    Acovea is becoming more generalized with each release. I've optimized the performance of a video codec, for example, using Acovea to test the encoder with a variety of parameter sets.
  • Isn't Acovea just doing a random search?
    Acovea evolves good solutions with only 4,000 compiles. Given the huge number of possibilities, Acovea has shown a remarkable ability to sift the wheat from the chaff, so to speak. While nay-sayers on Slashdot will claim that Acovea is no better than a random search, I have yet to see any of them produce an alternative.
  • 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. The technology is applicable to a variety of applications beyond compilers; it can perform stress testsing, optimize compression algorithms, compare algorithms, and otherwise test compute-bound software.





E-mail
LinkedIn
Facebook

•• HIRE SCOTT ••

Computer Books
Fiction
Articles
Reviews

FAQ
Bibliography


Link to Scott Ladd's Syraqua site

© 2010
Scott Robert Ladd
All rights reserved.
Established 1996


The grey-and-purple dragon logo, the blue coyote logo, Coyote Gulch Productions, Itzam, Evocosm, and Acovea are all Trademarks of Scott Robert Ladd.

Privacy Policy
Legal Stuff