Add machine_util.py for tuning optimal benchmark settings (#214)
* Add machine_util.py for tuning optimal benchmark settings
Cherry-picked from master branch PR #183
Applies some configuration settings automatically, but verifies more.
Only works on amazon linux so far; tries to bail gracefully on other platforms.
Usage:
- as a command line script, machine_config.py will check or configure the machine
sudo `which python` <path to machine_config.py> --configure
- as a library, provides functions for use e.g. in conftest.py
- asserts benchmark script is run with configured settings
- logs machine settings to benchmark data file
Other miscellaneous fixes:
* Add score plot, nightly sweep scripts
* Add legend to sweep result plotting script. (#193)
Moves compute_score and some other utils around. Needs more work.
torchbenchmark isn't installed in a proper way, so it doesn't work
to use relative imports from a script with a main function that is
nested inside the torchbenchmark package. work around this for now.
make machine_config script agnostic to cpu core pinning when run
as a script, since pinning is checked by conftest during benchmarking
and it's pointless to make the user pin the configuration script.
Co-authored-by: xz <xzhao9@fb.com>
* Fix CI script paths under the new directory hierarchy.
Co-authored-by: Will Constable <whc@fb.com>