READEX Runtime Library
The READEX Runtiem Library is written as part of the READEX project (www.readex.eu)
Compilation and Installation
To compile this plugin, you need:
Building and installation
mkdir BUILD && cd BUILD
The following settings are important:
SCOREP_CONFIGpath to the scorep-config tool including the file name
CMAKE_INSTALL_PREFIXdirectory where the resulting plugin will be installed (lib/ suffix will be added)
MIN_LOG_LEVELlog level of the RRL. Values are: trace, debug, warn, error, fatal
OFF, disables cal, and removes dependencies to protobuf and
ONtries to find a local copy of the c api from tensorflow instead of downloading the needed version
ONtries to find a local copy of google protobuf instead of downloading the needed version
If you have
PATH, it should be found by CMake.
Invoke make install
Make sure to add the subfolder
To build the documentation please do:
You'll need doxygen installed.
To use the RRL you have to add
rrl to the environment
SCOREP_RRL_VERBOSEControls the output verbosity of the plugin. Possible values are:
TRACEIf set to any other value, WARN is used. Case in-sensitive.
SCOREP_RRL_CHECK_IF_RESETSets the behaviour of the settings stack of the configuration manager: Possible values are: The default value is 'reset': Every change will be saved on the settings stack. 'no_reset' means that only the default and current values of parameters will be saved. New parameter values overwrites the current values.
SCOREP_RRL_PLUGINSSets the parameter plugins to load. Please be sure the path to the libs is in your LD_LIBRARY_PATH.
SCOREP_METRIC_PLUGINSSets the metric plugin to load. Its value should be set to 'scorep_substrate_rrl' for enabling the visualization of configuration switching in trace.
SCOREP_METRIC_SCOREP_SUBSTRATE_RRLSets the metrics to be added to the trace for visualization. Value equal to the wildcard '*' makes all the loaded Hw/Sw tuning parameters available in trace.
Application Tuning Parameter (ATP) need to be explicitly specified. To load ATPS, value should be set equal to 'ATP/<atp_name>' where, atp_name is the name of the ATP. The prefix 'ATP/' is required to recognize the ATP. For the hardware and software tuning parameters, names of the PCPs are used. For example: SCOREP_METRIC_SCOREP_SUBSTRATE_RRL = 'OpenMPTP, cpu_freq'
SCOREP_RRL_SIGNIFICANT_DURATION_MSdefines the duration of a significant region in milliseconds (integer required). Default 100 ms. RTS which have a predefind dration below this threshold will not get a new configuration.
SCOREP_RRL_COUNTERfile which holds the counters to colect for calibration
SCOREP_RRL_COUNTER_RESULTfilename of the resulting protobuf. Will be written in the Score-P exp. dir under "rrl/"
SCOREP_RRL_CAL_MODULEcalibration module to use. Currently available:
collect_allfor the first training step, to build the correlation between all counters
collect_fixfor the second training step, to collect the training data of the NN
collect_scalingfor trainign to find optimal configuration for regions.
cal_dummydummy calibration mechanism. Just returns 2.501 GHz core and 3 GHz uncore freq.
SCOREP_RRL_FILTERING_FILEfile for filtering regions with a specific name
If no filtering file is specified, than all regions will be included. The syntax of the filter file is based on scorep filter files, but there are some restrictions.
- the keyword MANGLED is currently not supported
- only one region name per line is allowed
- region names can be intended
- region names with shell wildcard patterns are supported
- region names on the same line with
EXCLUDEare not supported
- You can use comments, they start with
#and end with a new line. If a region name contains
#you have to escape it with a
RRL_CHECK_ROOTproperty of the DTA TMM. It set to "false", this will disable the check for the root region. This is needed for calibration.
Calibration specific varibales
SCOREP_RRL_IVALID_COMBINATIONpath to a json file. All invalid combinations of papi counters, which are detected during runtime will be saved there. They will be avoided for counter selection later on.
If anything fails:
- Check whether the plugin library can be loaded from the
- Write a mail to the author.
- Andreas Gocht (andreas.gocht at tu-dresden dot de)
- Umbreen Sabir Mian (umbreen.mian at tu-dresden dot de)
- Nico Reissmann (reissman at idi.ntnu.no)
- Mohammed Sourouri (mohammed.sourouri at iet.ntnu.no)