Watt's Up, GPU?

Introducing Tailpipe's open-source GPU power measurement tool: GPU Stress

30/06/25

The increasing use of GPUs in cloud computing workloads – and the high energy consumption of these cards – has made accurate measurement of GPU carbon emissions a key aspect of Tailpipe’s methodology for measuring the carbon emissions generated by cloud computing. Tailpipe has built a software for measuring the power draw of GPUs in cloud servers and is delighted to now make the software open source. 

It’s important that Tailpipe’s algorithms are as accurate as possible so that organisations can trust the information they receive from Tailpipe and then take the right actions to reduce their cloud computing emissions. As well as carrying out extensive research and using scientific papers and data from computing equipment manufacturers, the Tailpipe team has also been testing servers, measuring the empirical power and comparing those figures with those from Tailpipe’s calculations.

To empirically measure the power draw of servers, Tailpipe utilized the following tools:

In-Line Power Meters – physical boxes that plug into the power supply, before the server plugs into the power meter.  

CPU Measurement Software Teads’ technical team combined Linux applications stress-ng and turbostat to create Turbostress, which can be used to measure the power draw of remote servers using x86 architecture. 

GPU Measurement Software GPU Burn is a multi-GPU CUDA stress tool which, when combined with NVIDIA’s System Management Interface (NVIDIA-SMI), can be used to measure GPU power consumption of remote servers. 

However, GPU Burn simply turns the GPU on and off for a specified amount of time, so it’s not helpful for understanding what the power consumption at different levels of GPU utilisation.

So, we decided to create our own software and make it available to everyone. We’ve called it GPU Stress.

GPU Stress is a CUDA-based GPU stress test utility with logging for GPU utilisation, memory usage, and power draw.

When installed and running, it adjusts the GPU power load from 0% to 100% in 5% step increments, each over a 30 second time-period, and then writes the results to a log that can be analysed.

Because you can’t set a precise “run this % GPU utilization” for a GPU, GPU Stress is written so that the average GPU utilization over the 30 second time-period aims to be as close to the relevant target GPU utilization step.

An example set of results from running on an AWS g4dn.xlarge is:

Find Out More 

For a more detailed breakdown of how Tailpipe calculates emissions, see the Tailpipe Methodology. For an explanation of how Tailpipe can reduce an organization’s cloud spend and carbon emissions, see Tailpipe’s Recommendations. 

To discuss what Tailpipe can do to measure and reduce your cloud computing spend and emissions, get in touch with us here