
In research computing, a wasteful inner loop is multiplied by every core-hour a job runs, and much scientific software has never been profiled for energy. This film shows how GreenCode measures energy directly rather than by runtime, rebuilds the environment so tests are repeatable, and checks that optimised code still produces the same output.
Research computing is where software inefficiency is most concentrated: a wasteful inner loop or an idle allocation is multiplied by every core-hour a job runs. For research software engineers this is a code quality problem: much scientific software was written to get a result under time pressure and has never been profiled for energy. For facility owners it is a capacity problem, since software savings free machine time for other jobs. For funders it is a value-for-money problem, as compute becomes a visible line in grant budgets and institutional carbon accounts. GreenCode treats energy as a measurable engineering property, alongside correctness and performance.
The pipeline establishes a repeatable energy baseline, attributes hotspots to specific software artefacts, and improves the system through a closed loop of measure, optimise, validate and regression-test. Changes arrive as reviewable pull requests, so the maintainer decides what lands. The hardware-centred benchmarks rank supercomputers by performance per watt but are not actionable for an application or its developer, and even recent suites for parallel code rely on runtime as a surrogate. GreenCode measures energy directly, ties it to code, and verifies that the optimised version still produces the same output.
Discovery comes first. Infrastructure mining maps a running estate and rebuilds it through infrastructure as code, so that benchmarking runs on a standardised, repeatable environment. Energy is then tracked down to process level, with virtual machine monitors and attribution tying consumption to specific workloads. Accelerators are a common blind spot in existing tools, and GreenCode plans to extend its models to include them. Optimisation is hardware-aware: partners are investigating how improving a given algorithm is affected by the platform it runs on.
A university research computing cluster is the project's academic infrastructure use case: a hybrid of bare-metal servers, a Kubernetes cluster and virtual machines, supporting research software development and model training. Its targets are real-time resource dashboards, simulated optimisation, reconstruction through infrastructure code within an hour, and changes that can be implemented within a working day, with tools designed to be reusable in other academic settings. Two smaller cases cover code: a dependency-graph algorithm refactored to balance performance against maintainability, and an open-source data-augmentation library whose routines can be quadratic in cost. The project targets set the measures: a net energy saving per codebase, progression towards an A rating, a maintainability index that rises, and no net increase in quality or security issues. Test-case generation checks that optimised code keeps its functionality, and the same approach is being applied to engineering simulation platforms in the automotive sector. Reach out to us with the research code or the cluster costing you most, and we will help you understand how GreenCode can cut the energy per result.