CPPJoules is a energy measurement tool designed to measure the energy consumption during the execution of a piece of C++ code. CPPJoules leverages the Intel Running Average Power Limit (RAPL) interface, Intel Powergadget, Nvidia Management Library (NVML) for reporting energy consumption of different system-on-chip (SoC) power domains.
Our entire codebase is in this Github repo : https://github.com/rishalab/CPPJoules.git, you can either clone or download it to check it.
For installing the CPP Joules follow the below steps.
The file installer.sh will be downloaded.
You will be prompted to enter your user password
If the version is less than v11.0 then run the below code :
The file installer.bat will be downloaded.
Note : The g++ compiler version has to be above v11.0.0. Install
from here
Note : If PowerGadget v3.6 is not present, then install from
here
CPPJoules leverages Intel's RAPL and NVIDIA's NVML libraries to measure energy consumption for both the CPU and GPU components. For CPU energy measurement, the tool utilizes Intel's RAPL interface, which provides detailed energy traces data across various domains, including the CPU package, core, uncore, and DRAM. This is achieved through the Powercap interface on Linux and Intel Power Gadget on Windows.
Person 1, Person 2, Person 3