Parallel Systems

EPDA Performance Analyzer Tool

User Documentation

objectives - files - PAPI experiments recording - general recording - EPDA tool

Objectives

Files

Downloading them is not supported for the moment (please send an email to jan.lemeire@vub.ac.be).
For our linux users (PARDIR is set in your .cshrc file):
Download:

Performance Experiments recording with PAPI  (see PAPIProfiler.h)

Example program

  1. Maak een PAPIProfiler object
  2. (Optioneel) Measure(start-index, aantal): Geef aan welke events je wilt meten uit de lijst . Met PrintCounters() krijg je heel de lijst.
  3. (Optioneel) SetMuxMode(Boolean): Activeer multiplexing, zodat alle counters simultaan gemeten kunnen worden. Hiervoor moet je applicatie wel minstens 5 miljoen cycles duren.
  4. (Optioneel) ContinueMeasuring(): Om zonder multiplexing toch meerdere counters te meten dan dat er aanwezig zijn op je processor, moet je je experiment meermaals uitvoeren. Gebruik deze methode om je experiment in een loop te zetten.
  5. StartMeasuring(): start het meten van de counters
  6. StopMeasuring(): stop meten
  7. PrintMeasurements(): print resultaten
  8. Write2EPDA(applicatienaam, projectnaam, commentaar): zal de runtime en PAPI-metingen naar de database schrijven tijdens de destructor. Je krijgt dan het experiment ID waarmee het in de database staat.
  9. SetEPDAExperimentVariable(variabele, variabeletype, int waarde, eenheid, commentaar)
SetEPDAExperimentVariable(variabele, variabeletype, double waarde, eenheid, commentaar)
SetEPDAExperimentVariable(variabele, variabeletype, string waarde, commentaar)
Hiermee schrijf je andere variabelen naar de database, zoals je parameters, berekende waarden, computernaam, enzovoorts
Voor het variabeletype kies je tussen
enum TYPE_EN{APP_PAR, APP_CHAR, SYSTEM_PAR, SYSTEM_CHAR, APP_MEASUREMENT, SYSTEM_MEASUREMENT, RESULT}
Maar dit is momenteel totaal onbelangrijk.
Let wel op:  eenmaal een variabele gedefinieerd, kan je zijn signatuur (zie methode header) niet meer veranderen

General Experiment recording (see EPDAExpRecorder.h)

Create an EPDAExpRecorder object for each experiment you want to register into the database.
Experiments are grouped per user, then per project (optional), per application and finally you can set the application version.

Constructor
EPDAExpRecorder(const string& application, const string& project, const string& appVersion="", const string& expComment = "");
Your linux account is taken as the user/owner of the experiment.
Application and experiment comment is only informative.

Parameter values
EPDA supports 3 types of parameters: integers, doubles and strings.
  void SetExperimentVariable(string name, TYPE_EN type, int value, const string& unit="", const string& comment = "", int exponent=0);
  void SetExperimentVariable(string name, TYPE_EN type, double value, const string& unit="", const string& comment = "", int exponent=0);
  void SetExperimentVariable(string name, TYPE_EN type, string value, const string& comment = "", int exponent=0);
Specify the exponent if you scaled your data with 10exponent (as integers are limited +-231).

Choose the parameter type:
enum TYPE_EN{APP_PAR, APP_CHAR, SYSTEM_PAR, SYSTEM_CHAR, APP_MEASUREMENT, SYSTEM_MEASUREMENT, RESULT}
If the variable was already added to the database, the type, unit and exponent should be the exactly the same. (We envisage to make it possible to change a variable in the future)

Destructor
The experiment is written to the database by the destructor and prints a message. Each application (determined by user-project-application-version) gets a unique ID, and also each experiment of an application gets a sequential number.

Include mysql (database) and epda in the projectfile as follow:
INCLUDEPATH    =  /usr/include/mysql $(PARDIR)/include
LIBS           = -L/usr/lib/mysql -L$(PARDIR)/lib -lepda -lmysqlclient

Example (with PAPI measurements)

EPDA Tool  (screenshot)

Opmerking: deze nieuwe tool is ongoing work en bevat dus nog niet-werkende features en bugs. De bekende bugs ben ik er nu aan het uithalen. Indien jullie er nog een tegen komen, mail ze me (hoe ik ze kan reproduceren + jullie account). Bedankt voor het begrip.


When you start EPDA, you get a window showing your experiments:
The experiments are grouped per project, application name and application ID.
By doubleclicking on the application ID, all experiments are showed.
By clicking on an experiment, it's properties are shown in the properties window.
With the delete button all selected experiments are deleted.


The first time you use EPDA, a new model should be created.
A model consists of all variables of the database, also variables that other users created. You can remove these nodes from your model with the delete button.
The next time you start EPDA, your latest model is loaded automatically.


Load or reload the experimental data by selecting the experiments in the experiments window.
Currently, loading individual experiments goes wrong, select applications or versions (by ID).
It is possible to select experiments by the values of the nodes: set the value, the minimum or the maximum values in the property window of a node.


View the data by creating a new chart window.
Click on the nodes that has to be displayed as the x-axis and y-axis.
It is possible to add other variables on the Y-axis or to view a 3D chart, by choosing a Z variable.


Delete all currently loaded experiments.


Write the currently loaded experiments to a file.
You can select the variables and the format. The free format is ok for loading the data into Excel or another analyzer.


You can create derived variables, which are calculated from other variables by an equation.
Choose the equation type and set a name in the properties panel at the left. Connect  the output (right connector) with the input (left connector) of the equation node. The so calculated values can also be written to file.


Save your model.






- Back to the top -