Green Algorithms

Aims at promoting more environmentally sustainable computational science.
https://github.com/GreenAlgorithms/green-algorithms-tool

Category: Consumption
Sub Category: Computation and Communication

Keywords from Contributors

optimize transforms archiving measur generic compose observation animals projection conversion

Last synced: about 10 hours ago
JSON representation

Repository metadata

README.md

Green Algorithms

www.green-algorithms.org

Generic badge

Maintenance
Open Source? Yes!


How to deal with the GA-data git submodule?

After cloning the repository or one of its forks, run the following to properly activate the git submodule GA-data:

git submodule init
git submodule update

We recommand running the following to add submodule information in the output of the regular git status command:

git config status.submodulesummary 1

When running git pull, git automatically fetches from the submodules but does not update them, meaning that you can see new commits from the submodule, they are checked-out but not included in the current repo tracked changes. To do so run:

git submodule update

Do not apply changes to the git submodule from the current repository. Data is directly updated from the GA-data repository. For a more detailed description of the contributions recommendations, please have a look at the online documentation.

Methods and data

The methodology behind the Green Algorithms project is described in our publication:
https://onlinelibrary.wiley.com/doi/10.1002/advs.202100707

All the data used for the calculator are in the /data directory above.

Questions, issues, suggestions? Want to contribute?

Start by opening an issue here, and we will try to address it quickly:
https://github.com/GreenAlgorithms/green-algorithms-tool/issues

You can also contact us at: green.algorithms@gmail.com

How to cite this work

Lannelongue, L., Grealey, J., Inouye, M.,
Green Algorithms: Quantifying the Carbon Footprint of Computation.
Adv. Sci. 2021, 2100707. https://doi.org/10.1002/advs.202100707

FAQ

Ask Me Anything !

Should I include the number of processors, number of cores, or number of threads used?

For CPUs, the number of cores (CPUs usually have 4-12 cores per processor). For GPUs, the number of GPUs.
If using multi-threading on CPUs (i.e. using more threads than cores), still input the number of cores,
but be aware that your emissions might be underestimated.

What if my processor is not in the list?

You can select "Other" and find the TDP (Thermal Design Power) value on the manufacturer's website.
Plus, add a comment on this issue so that we can add it to the list!

What if my country is not in the list?

Add a comment on this issue so that we can add it to the list!
(some countries are more secretive than others about their energy mix).
You can use the world average, or a close proxy, for your estimations.

Can I compare algorithms impact independantly of the location?

Yes, simply use the "Energy needed" (in W) displayed next to the carbon emissions.

How do I find the usage factor of my processors?

It depends on your system. For example if you're using SLURM, seff <job_id> will give you the "CPU Efficiency".
Similar commands exist for the different systems, and if you can't find it, you can just leave the default value of 1.

How do I estimate my Multiplicative Factor?

Try to estimate how many times you need to run your full analysis to get results you're happy with.
It can be trials and errors, parameters optimisations, memory issues etc.

What if I found a bug in the tool?

Open an issue on the GitHub so that we can look at it.

Credits

The Green Algorithms project is led by Dr Loïc Lannelongue
with the support of Prof Michael Inouye from the University of Cambridge (UK).

Other contributors

  • Dr Jason Grealey (then: Baker Heart and Diabetes Institute, Melbourne, Australia) helped to start this project.
  • Even Matencio (GitHub, LinkedIn) (then: French Department for the Environment, Paris, France) developed the v3.0 of the calculator and in particular the AI view.
  • The app has also been improved by ongcp97

Software and images

Licence

This work is licensed under a
Creative Commons Attribution 4.0 International License.

CC BY 4.0

CC BY 4.0


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: about 15 hours ago

Total Commits: 413
Total Committers: 11
Avg Commits per committer: 37.545
Development Distribution Score (DDS): 0.431

Commits in past year: 130
Committers in past year: 5
Avg Commits per committer in past year: 26.0
Development Distribution Score (DDS) in past year: 0.308

Name Email Commits
Loïc Lannelongue l****e@g****m 235
evenmatencio m****n@g****m 147
Green Algorithms 6****s 11
dependabot[bot] 4****] 9
Jason Grealey j****y@B****l 4
MATENCIO Even e****o@d****r 2
budimirbudimir b****r@m****m 1
Pierre Le Fevre h****o@p****m 1
Jason Grealey j****y@g****m 1
Eric Scott s****r@g****m 1
Jason Grealey j****y@B****l 1

Committer domains:


Issue and Pull Request metadata

Last synced: 6 days ago

Total issues: 24
Total pull requests: 56
Average time to close issues: 4 months
Average time to close pull requests: 11 months
Total issue authors: 17
Total pull request authors: 8
Average comments per issue: 1.79
Average comments per pull request: 0.45
Merged pull request: 15
Bot issues: 0
Bot pull requests: 31

Past year issues: 5
Past year pull requests: 22
Past year average time to close issues: N/A
Past year average time to close pull requests: about 1 month
Past year issue authors: 3
Past year pull request authors: 4
Past year average comments per issue: 0.2
Past year average comments per pull request: 0.32
Past year merged pull request: 8
Past year bot issues: 0
Past year bot pull requests: 7

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/GreenAlgorithms/green-algorithms-tool

Top Issue Authors

  • Llannelongue (4)
  • mattagape (2)
  • GreenAlgorithms (2)
  • evenmatencio (2)
  • adrientaudiere (2)
  • Scottan (1)
  • czmrand (1)
  • foreveremain (1)
  • chris-rands (1)
  • drtimf (1)
  • fungiboletus (1)
  • pauleustice (1)
  • davehowell (1)
  • manics (1)
  • andhya (1)

Top Pull Request Authors

  • dependabot[bot] (31)
  • evenmatencio (13)
  • Llannelongue (4)
  • unkaktus (2)
  • RevantBabu (2)
  • Aariq (2)
  • pierrelefevre (1)
  • budimirbudimir (1)

Top Issue Labels

  • enhancement (8)
  • question (4)
  • bug (1)

Top Pull Request Labels

  • dependencies (31)
  • python (7)

Package metadata

proxy.golang.org: github.com/greenalgorithms/green-algorithms-tool

proxy.golang.org: github.com/GreenAlgorithms/green-algorithms-tool


Dependencies

requirements.txt pypi
  • Babel ==2.8.0
  • Click ==7.0
  • Flask ==1.1.1
  • Flask-Compress ==1.4.0
  • Jinja2 ==2.11.1
  • MarkupSafe ==1.1.1
  • PyYAML ==6.0
  • Pygments ==2.5.2
  • QtPy ==1.9.0
  • Send2Trash ==1.5.0
  • Sphinx ==2.4.3
  • Werkzeug ==1.0.0
  • alabaster ==0.7.12
  • appnope ==0.1.0
  • attrs ==19.3.0
  • backcall ==0.1.0
  • bleach ==3.1.4
  • certifi ==2021.10.8
  • chardet ==3.0.4
  • coverage ==5.0.3
  • cycler ==0.10.0
  • dash ==1.4.1
  • dash-core-components ==1.3.1
  • dash-html-components ==1.0.1
  • dash-renderer ==1.1.2
  • dash-table ==4.4.1
  • dask ==2021.3.0
  • decorator ==4.4.2
  • defusedxml ==0.6.0
  • docutils ==0.16
  • entrypoints ==0.3
  • future ==0.18.2
  • gunicorn ==20.0.4
  • idna ==2.9
  • imagesize ==1.2.0
  • importlib-metadata ==1.5.0
  • ipykernel ==5.1.4
  • ipython ==7.13.0
  • ipython-genutils ==0.2.0
  • ipywidgets ==7.5.1
  • itsdangerous ==1.1.0
  • jedi ==0.17.0
  • jsonschema ==3.2.0
  • jupyter ==1.0.0
  • jupyter-client ==6.1.3
  • jupyter-console ==6.1.0
  • jupyter-core ==4.6.3
  • kiwisolver ==1.1.0
  • matplotlib ==3.1.1
  • mistune ==0.8.4
  • more-itertools ==8.2.0
  • nbconvert ==5.6.1
  • nbformat ==5.0.6
  • newrelic *
  • notebook ==6.0.3
  • numpy ==1.17.4
  • numpydoc ==0.9.2
  • packaging ==20.1
  • pandas ==0.25.3
  • pandocfilters ==1.4.2
  • parso ==0.7.0
  • pexpect ==4.8.0
  • pickleshare ==0.7.5
  • plotly ==5.8.0
  • pluggy ==0.13.1
  • pprintpp ==0.4.0
  • prometheus-client ==0.7.1
  • prompt-toolkit ==3.0.5
  • ptyprocess ==0.6.0
  • py ==1.8.1
  • pycountry ==19.8.18
  • pycountry-convert ==0.7.2
  • pyparsing ==2.4.6
  • pyrsistent ==0.16.0
  • pytest ==5.3.5
  • pytest-cov ==2.8.1
  • pytest-mock ==2.0.0
  • python-dateutil ==2.8.1
  • pytz ==2019.3
  • pyzmq ==18.1.1
  • qtconsole ==4.7.4
  • repoze.lru ==0.7
  • requests ==2.23.0
  • retrying ==1.3.3
  • scipy ==1.4.1
  • seaborn ==0.9.0
  • six ==1.14.0
  • snowballstemmer ==2.0.0
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==1.0.3
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.4
  • tenacity ==8.0.1
  • terminado ==0.8.3
  • testpath ==0.4.4
  • tornado ==6.0.4
  • traitlets ==4.3.3
  • urllib3 ==1.25.8
  • wcwidth ==0.1.8
  • webencodings ==0.5.1
  • widgetsnbextension ==3.5.1
  • zipp ==3.1.0
requirements_old.txt pypi
  • Babel ==2.9.1
  • Click ==7.0
  • Flask ==1.1.1
  • Flask-Compress ==1.4.0
  • Jinja2 ==2.11.3
  • MarkupSafe ==1.1.1
  • Pygments ==2.7.4
  • Sphinx ==2.4.3
  • Werkzeug ==1.0.0
  • alabaster ==0.7.12
  • attrs ==19.3.0
  • certifi ==2019.11.28
  • chardet ==3.0.4
  • coverage ==5.0.3
  • cycler ==0.10.0
  • dash ==1.4.1
  • dash-core-components ==1.3.1
  • dash-html-components ==1.0.1
  • dash-renderer ==1.1.2
  • dash-table ==4.4.1
  • dask ==2021.10.0
  • docutils ==0.16
  • future ==0.18.2
  • gunicorn ==20.0.4
  • idna ==2.9
  • imagesize ==1.2.0
  • importlib-metadata ==1.5.0
  • itsdangerous ==1.1.0
  • kiwisolver ==1.1.0
  • matplotlib ==3.1.1
  • more-itertools ==8.2.0
  • newrelic *
  • numpy ==1.17.4
  • numpydoc ==0.9.2
  • packaging ==20.1
  • pandas ==0.25.3
  • plotly ==4.5.0
  • pluggy ==0.13.1
  • pprintpp ==0.4.0
  • py ==1.10.0
  • pycountry ==19.8.18
  • pycountry-convert ==0.7.2
  • pyparsing ==2.4.6
  • pytest ==5.3.5
  • pytest-cov ==2.8.1
  • pytest-mock ==2.0.0
  • python-dateutil ==2.8.1
  • pytz ==2019.3
  • repoze.lru ==0.7
  • requests ==2.23.0
  • retrying ==1.3.3
  • scipy ==1.4.1
  • seaborn ==0.9.0
  • six ==1.14.0
  • snowballstemmer ==2.0.0
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==1.0.3
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.4
  • urllib3 ==1.26.5
  • wcwidth ==0.1.8
  • zipp ==3.1.0

Score: -Infinity