BONSAI: Benchtesting OpeN Software Autotuning Infrastructure

BONSAI is an infrastructure for the benchtesting and autotuning of computational kernels. Bonsai is based on Python 2.7 and the Python based specification syntax called LANAI (LANguage for Autotuning Infrastructure).

BONSAI will eventually consist of three components:

  • LANAI, the specification language
  • Runtime component, managing the parallel compilation, execution, and profiling of the kernel
  • Visualization component, to gain insight into the generated data

The second and third items are currently in development. The first component, LANAI, is provided here. A simple runtime component is also provided for users to start generating data.

For more documentation, including the LANAI syntax guide, see http://bonsai-doc.readthedocs.io/

The home website for BONSAI is http://icl.utk.edu/bonsai

Quick Start

make space: Generates a csv file (CSV in make.inc) that contains all valid combinations defined by the LANAI iteration file (ITER in make.inc)

make tune: Compiles and runs the executables with the generated configurations. Executables are compiled into the sub-directories of BUILD_DIR with CHUNK number of executables per sub-directory (starting with 'chunk_0000'). The runtime redirects stdout to a textfile named #_tester, with # being the index of the configuration.