-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reduce carbon footprint estimation to total energy amount #80
Conversation
f1c3e4f
to
63f7c4c
Compare
@@ -219,7 +218,7 @@ def main(arguments=None): | |||
" specify the scheduler with the -s or --scheduler option" | |||
) | |||
sys.exit(1) | |||
config, CI_API_interface, location, duration = get_runtime_config(args) | |||
CI_API_interface, location, duration, jobinfo, PUE = get_runtime_config(args) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The config
dict representing the yaml config file can now be confined to the configure
module and not appear in the __init__
module. The jobinfo
list of (ndevice, power)
is all that is require for carbon footprint estimation down the line.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
docs/source/quickstart.rst
Outdated
The name of the profile section is arbitrary, but each profile section | ||
*must* contain one ``cpu`` section, or one ``gpu`` section, or both. | ||
Each hardware type (``cpu`` or ``gpu``) section *must* contain the | ||
``power`` and ``nunits`` sections. The ``model`` section is optional, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we know the power unit?
This PR trims down the carbon footprint estimation module carbonFootprint.py.
For the purpose of providing an estimation of carbon footprint savings,
cats
only needs to know the total carbon footprint, i.e. summed across all devices (gpus, cpus) and memory. This is straightforward to compute given the newjobinfo
format introduced in #79:where
energy
is the total energy. I deliberately removed code accounting for energy for a specific device type, since this is not used in cats so far.This also removes
greenAlgorithmsCalculator
methods formatting an amount of gCO2 into units of driving, flying...etc. This is probably a nice to have, but AFAIK this is dead code. Anyone feel free to add them back if they wish to make use of them.Finally, this gets rid of the
check_clean_arguments.validate_job_info
function since the job information required for the carbon estimation footprint is fully specified by thejobinfo
list returned byconfigure.get_runtime_configuration
.