Flamingo
Flamingo is a general-purpose auto-tuning framework for software
optimisation.
The software automates the process of finding optimal settings
for program parameters, even reducing the number of tests
needed.
These parameters would typically control how a program performs,
for example the sub-problem size a large problem is broken down
into.
Documentation
Introductory Tutorial
— Provides a straightforward introduction to the
tuner and what it can do.
User's Guide
— A more detailed description of each of the tuner's
features.
Developer Documentation
— Brief introduction to how the tuner is designed and
developed.
Several small example programs are included.
Download
Flamingo is open source software, released under the
BSD
2-Clause Licence. The latest version is available for download
here, including the documentation and example programs:
flamingo_0-16_2011-09-27.tar.gz
Extract this tarball into your home directory and run
~/Autotuning/autotune for a demonstration.
Background
Flamingo began as my third year undergraduate project at university,
supervised by Mike
Giles.
My project report is available
here and contains lots
of technical detail on the design of the original system
(refers to v0.11).
The project was developed as part of ongoing work on
OP2
and has been partially funded by an
EPSRC vacation bursary.