Skip to content

VDalibard/BOAT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BOAT: A framework to build bespoke auto-tuners

Most computer systems expose many parameters or flags to users. These flags can be tuned by users to maximise the system's performance in a particular context. Auto-tuners remove this burden from users. They repeatedly evaluate flag values to find ones with good performance. Unfortunately, traditional auto-tuners often require thousands of iterations to converge. This makes them unsuitable for systems which are expensive to evaluate such as distributed systems.

BOAT is a framework to build auto-tuners that are specific to a particular system. This can be done by a system developer who has a good understanding of the underlying system behaviour. BOAT allows them to expose the system's behaviour in the form of a probabilistic model. The resulting auto-tuner will be able to exploit this information and quickly converge to good flag values, typically in tens of iterations.

The file examples/branin_hoo/branin_hoo.cpp shows an example of this. It implements multiple auto-tuners for the Branin-Hoo function. The first auto-tuner implements a traditional Bayesian optimisation, which makes little assumptions about the shape of the function. The second auto-tuner implements a structured Bayesian optimisation by using an informed prior about the shape of the function.

Dependencies

BOAT has dependencies to:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published