Skip to content

Latest commit

 

History

History
66 lines (46 loc) · 2.29 KB

README.md

File metadata and controls

66 lines (46 loc) · 2.29 KB

roco2

A synthetic workload generator written in C++ with integrated Score-P instrumentation.

Notes on this fork

This is a fork to get a simple experiment running. Several parts of the original roco2 have been severed or disabled.

Build with:

mkdir build && cd build
SCOREP_WRAPPER_INSTRUMENTER_FLAGS='--user --openmp --thread=omp --nocompiler' SCOREP_WRAPPER=off cmake .. -DCMAKE_C_COMPILER=scorep-gcc -DCMAKE_CXX_COMPILER=scorep-g++ -DUSE_SCOREP=ON -DBUILD_TESTING=OFF
make SCOREP_WRAPPER_INSTRUMENTER_FLAGS='--user --openmp --thread=omp --nocompiler'

Getting started

The folder src/configurations/example contains one example configuration. You can build this example, however it will require small adjustments to fit your machine. (See Build)

The file src/configurations/example/experiment.cpp contains all configuration, which is necessary to adapt to your machine. For simple adjustments, you can edit the section EDIT GENERIC SETTINGS. This section comprises the variables representing the duration of one experiment, a list of all tested frequencies and T-states, and the patterns of the active hardware threads. These four knobs determine the length of one execution. For more fine grained changes to the execution, you can edit the section EDIT TASK PLAN. This section determines the order of execution for the different workload kernels.

For further details, refer to the Wiki.

Requirements

  • A compiler with C++14 and OpenMP support
  • A recent Linux kernel
  • Intel MKL or CBLAS
  • Score-P
  • libnuma
  • libcpufreq
  • X86Adapt

Building with CMake

  1. Checkout the source

        git clone https://github.com/tud-zih-energy/roco2.git
        cd roco2
    
  2. Create build directory

        mkdir build
        cd build
    
  3. Run CMake

        cmake ..
    
  4. Run make

        make
    

Acknowledgments

This work is based on "Hackenberg et. al.: Power measurement techniques on standard compute nodes: A quantitative comparison".