Skip to content

atos-tools/atos-utils

Repository files navigation

This software package contains the Auto Tuning Optimization System (ATOS) tools.

After installation (see INSTALL file) the following tools are available:
* Top level tools:
 * atos-explore: automatic optimization system for a build and run system that generate a build configuration to be used by atos-play (see atos-explore -h)
 * atos-graph: graphs the optimization space and best trade-offs frontier (see atos-graph -h)
 * atos-play: build system optimizer for a build system (see atos-play -h)

* Companion tools:
 * atos-audit: auditing tool for a build system that generates a build template to be used by atos-build (see atos-audit -h)
 * atos-raudit: auditing tool for a run system that generates a run template to be used by atos-run (see atos-raudit -h)
 * atos-deps: specify executables targets and complete the auditing process (see atos-deps -h)
 * atos-build: replay build audited by atos-audit with custome options injection (see atos-build -h)
 * atos-run: rerun benchmark audited by atos-raudit (see atos-run -h)
 * atos-profile: specific rebuild!rerun for generating application profiles (see atos-profile -h)

* Example:
Execute 'make examples' for an example exploration on two version of sha1sum
(C and C++ versions).
It will do the exploration and open the optimization space graph.
See the INSTALL file if any trouble.

* Typical usage:
A simple usage of the atos-explore tool is to provide a script for building
the application (compile.sh for instance) and a script for running the
benchmarks (exec.sh for instance), then run the atos-explore tool:
For instance:
$ atos-explore -b ./compile.sh -r ./exec.sh
....
Best Size configuration: ...
Best Performance configuration: ...

Then in order to choose your best trade-off configuration run the atos-graph tool:
$ atos-graph

By clicking on the best trade-off point that you choose on the drawn
optimization space frontier, get the local_id and pass it to atos-play.

Last, in order to replay the build for your chosen configuration local_id:
$ atos-play -l <local_id>
... compile your application for your chosen best trade-off

Or simply for best size or best perf:
$ atos-play -f time
... compile your application for best performance
$ atos-play -f size
... compile your application for best code size