Skip to content

Latest commit

 

History

History
319 lines (245 loc) · 25.4 KB

readme.md

File metadata and controls

319 lines (245 loc) · 25.4 KB

Green Software Awesome

Research, tools, code, libraries, and training for building applications that emit less carbon into our atmosphere.

An awesome list created and managed by the Open Source Working Group in the Green Software Foundation.

Disclaimer

This list is created for informational purposes only and any links do not constitute an endorsement, recommendation, or favoring by the Green Software Foundation, its member organizations, or contributors to the list.

THESE MATERIALS ARE PROVIDED “AS IS.” The parties expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the materials. The entire risk of implementing or otherwise using the materials is assumed by the implementer and user. IN NO EVENT WILL THE PARTIES BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS DELIVERABLE OR ITS GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER MEMBER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Contents

Dev / Tooling

AI

AI Carbon

AI Energy

Cloud-based

AWS

Azure

Google

Multicloud

  • Cloud Carbon Footprint An open-source cloud energy and carbon emissions measurement tool.
  • Green Metrics Tool A free open-source (FOSS) tool to measure the energy / CO2 consumption of your software architecture.
  • kube-green A simple open-source k8s addon that automatically shuts down (some of) your resources when you don't need them.
  • Carbonifer Command Line Tool to control carbon emission of your cloud infrastructure.
  • Gaia Gen A SaaS solution for monitoring and reporting cloud emissions (there is a cost associated with this solution).

Code based

  • codecarbon.io Python : Track and reduce CO2 emissions from your computing
  • CAST Highlight Automatically analyze application source code to identify green deficiencies and improve green impact.
  • JoularJX Java: Software power monitoring at the source code level in real-time.
  • Kernel Tuner an auto-tuner capable of optimizing GPU code for energy efficiency.
  • oaklean.io Visualize and optimize the energy consumption of your JavaScript/TypeScript applications. Using a VSCode extension and integration with test frameworks, the system identifies energy-intensive code sections and suggests eco-friendly alternatives.
  • Tracarbon Tracarbon tracks your device's energy consumption and calculates your carbon emissions using your location
  • ecoCode A SonarQube plugin for PHP, Python, Java, and JavaScript, providing static code analyzers to highlight code structures that may have a negative ecological impact.
  • energy-consumption-measuring-toolkit Energy Consumption Measuring Toolkit for Python Applications

General purpose

Emissions

  • Carbon AppInsights An Azure Functions-based solution for logging emissions data for Azure regions from Electricity Maps to Azure Monitor for alerting triggers and automated actions.
  • Carbon Aware SDK A Web API and command line for obtaining unified forecast and historical power grid emissions data based on location and time, to help build Carbon Aware software.
  • Carbon Aware Computing Hangfire Extension A Hangfire extension to schedule tasks with carbon awareness in mind. The best point in time is calculated based on emission forecasts to get a window with a minimal grid carbon intensity.
  • Carbon Aware Computing - Tools & Free forecast data The goal of this project is to provide developers with hassle-free, easy-to-use, ready-to-run tools for carbon-aware computing. The software contains a NuGet-Package, Powershell-Commandlets, and a live instance of the SDK. An open data carbon forecast for Europe is available as in the JSON-Carbon SDK-compatible format.
  • PSElectricityMaps A PowerShell Module for retrieving current carbon emissions data for power grids with a free account on ElectricityMaps / CO2signal.
  • PSWattTime A PowerShell Module for retrieving current carbon emissions data for power grids with a free account on WattTime.org.

Energy

  • CO2Scope Solution to monitor in real-time the CO2 emissions of IT services, virtual machines, and servers
  • Eco-CI Continuous Integration Energy Estimation A plugin for GitHub Actions / GitLab that measures your CI runs and estimates their energy use.
  • Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to probe energy-related system stats and exports as Prometheus metrics
  • Hardware Sentry Standard OpenTelemetry agent that exposes the energy usage and temperatures of servers, network, and storage systems in data centers
  • PowerJoular Monitor, in real-time, the power consumption of software and hardware components.
  • scaphandre Power measurement (bare metal hosts, prometheus, within a docker container, etc)
  • ML.ENERGY Leaderboard: How much energy do LLMs consume?
  • Zeus: Deep Learning Energy Measurement and Optimization
  • Vessim is a co-simulation testbed for carbon-aware applications and systems that connects domain-specific simulators for renewable power generation and energy storage with real software and hardware. It's been published at HotCarbon'24. Git Publsihed in 2024

Extensions

  • GreenIT-Analysis The extension allows you to use your Dev Tools to measure the ecoIndex of a website and verify the application of web eco-design best practices defined by the "Collectif numérique responsible".

OS-based

Android

  • ecoCode mobile A SonarQube plugin to highlight code structures that may have a negative ecological impact.
  • PowDroid A lightweight CLI tool for measuring energy consumption at runtime (based on batterystats)

iOS

  • ecoCode iOS A SonarQube plugin to highlight code structures that may have a negative ecological impact.

Linux

  • FreeIPMI We can get the power consumption of a bare metal machine through the DCMI (IPMI extension).
  • ipmitool We can get the power consumption of a bare metal machine through the DCMI (IPMI extension).
  • PowerAPI A Linux software-defined power meter to estimate process-scale power consumption in real time.
  • PowerTOP A Linux tool to diagnose issues with power consumption and power management.
  • turbostress This tool generates load and outputs computer power metrics for this load.

Web

Windows

Organizations

Courses

Articles / Books / Research

Articles

Books

Research

Artificial Intelligence

Blockchain

Computation

Crypto

Data Centers

Emissions

Programming Languages

Quantum Computing

Streaming

Web

Contribute

Contributions welcome! Read the contribution guidelines first.