Graph500 Benchmark Code for Energy Measurements

The original Graph500 code runs 64 iterations of a BFS-validate loop. The BFS steps are typically an order of magnitude faster than the validation steps and often only take in the order of seconds. To get a clear measurement of the BFS energy consumption only, the modified code runs only the BFS loop (without validation) for a specified number of seconds (repeating the same 64 BFS searches (same start vertices) as the actual benchmark). After the energy measurement loop is finished, the official Graph500 code is run (producing a number legal for submission).

The time to run the energy loop is passed as the third (unnamed) parameter. If no energy time (or 0) is specified, then the execution is identical to the original benchmark.

Download the code

Running the code

The original Graph 500 code runs several BFS searches with one check after each search. Each iteration is shorter than the time resolution of many power measurement devices. Thus, the Green Graph 500 code offers one more optional parameter that allows the user to specify the time for running run the BFS repeatedly in order to measure power consumption with low-resolution meters.

The MPI version can be started with:

mpiexec -n 2 ./graph500_mpi_simple 10 16 600

To run the measurement for 10 minutes. The benchmark will output the start and end-time for the energy measurement. The measurement can be performed anytime during this interval (after making sure all components are warmed up as stated in the rules).


Please contact info --at-- if you have any questions!


November 2014
Third official Green Graph500 list released.

June 2014
Third official Green Graph500 list released.

November 2013
Second official Green Graph500 list released.

June 2013
First official Green Graph500 list released.

March 2013
Unofficial Green Graph500 List released.

August 2012
Green Graph 500 Benchmark Code released.