Synopsis
This software package contains the Auto Tuning Optimization System (ATOS) tools.
Overview
To easily install the ATOS software packages and all its dependencies, please go to the atos-build project and follow the instructions described here.
After installation 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)
Examples
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.
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
... display trade-off 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