Releases: NREL/WattAMeter
WattAMeter v0.8.0
Main changes:
- Move benchmarks to inside the library
- Add documentation to GitHub pages
- New way to add reading frequency. This enables the user to choose its own configuration of tracker through the main CLI
- Remove numpy dependency
Full Changelog: v0.7.4...v0.8.0
WattAMeter v0.7.4
Bug fix. Subprocesses inside a slurm job sometimes can be controlled by slurm, so wait might not work. This version uses kill -0 after wait for more robust graceful exit in wattameter.sh.
Full Changelog: v0.7.3...v0.7.4
WattAMeter v0.7.3
Improve SLURM utilities and examples
- Improve the signal handling
- Remove USR1 from the killing signals in WattAMeter. Not needed.
- Python CLI ignores signals during cleanup. Useful because Slurm seems to send multiple TERM signals during timeout
- wattameter.sh::on_exit sends INT instead of TERM signals to Python CLI. It finishes cleaner with the change
- Calls
scancelwith signal INT and only for the SLURM step relative to wattameter. It finishes cleaner with the change - Wait after calling scancel. That is necessary otherwise Slurm will send a termination signal to all processes
- wattawait.sh:
- Use optional arguments with flags.
- Adds quiet mode
- wattameter.sh:
- Only parse RUN_ID and SUFFIX. Forward the remaining arguments directly to the Python CLI.
- Create a slurm.sh utils file with the commands
start_wattameterandstop_wattameter.- It adds variables WATTAMETER_N_STARTED_STEPS and WATTAMETER_SLURM_STEP_IDS to the shell session.
- Update examples and tests accordingly
Full Changelog: v0.7.2...v0.7.3
WattAMeter v0.7.2
wattameter.sh assumes wattameter CLI is in the PATH instead of guessing the Python interpreter. This avoids conflicts with switching between Python virtual environments.
Full Changelog: v0.7.1...v0.7.2
WattAMeter v0.7.1
Adding post-processing functionality to help with analysis.
Full Changelog: v0.7.0...v0.7.1
WattAMeter v0.7.0
-
Removes dependency on CodeCarbon
-
Adds more data streams to NVMLReader, including utilization rates and NvLink throughput counters
-
Adds sleep benchmark notebook to measure sleep time accuracy
-
Improve update_time benchmark script with:
- better time interval estimation
- use of stress tools for CPU/GPU load generation
- adds temperature and memory usage to the NVML
Full Changelog: v0.6.2...v0.7.0
WattAMeter v0.6.2
In this new release, the power log files generated by calling wattameter.sh have the simulation ID in the filename. This should improve data handling.
WattAMeter v0.6.1 (Bug fix)
What's Changed
- Fix RAPLDevice compute_derived method by @weslleyspereira in #2
Full Changelog: v0.6.0...v0.6.1
WattAMeter v0.6.0
-
Add new trackers that currently only reads data from RAPL and PyNVML.
- Reader: class that reads data from a stream. For instance, RAPLReader and NVMLReader.
- Tracker: class that has a single reader. Reads and writes occur at regular times.
- TrackerArray: AS the name says, this is an array of trackers. Each tracker reads and writes data in the same event. However, each tracker still has its own file to store data.
-
The
main.pyscript now refers to a TrackerArray that uses NVMLReader and RAPLReader. The scriptmain_codecarbon.pyis kept but may be discontinued in the future. -
wattameter.shandwattawait.shscripts now work with the new trackers. Mind that the interface ofmain.pyandmain_codecarbon.pyare currently very similar, so it would be easy to change the bash scripts to usemain_codecarbon.pyinstead ofmain.py. -
WattAWait.shnow uses more reliable information. The previous implementation was buggy.
WattAMeter v0.5.0 (First public release)
Acknowledgements:
Special thanks to the coworkers that helped me polish the software for this release and fix bugs:
@oahull0112
@kevinmenear
@mselensky
@jdwillard19