What is this?
-------------

This is a test framework driverd on JUBE.


What does it do?
----------------

During the run it performs three steps:

1. It creates several executables with various compiler parameters, i.e.

     * reference executable
     * executable with "-no-fma" parameter
     * executable with "-no-vec -no-simd" parameters
     * executable with Score-P instrumentation

2. Run executable from the first step

     * reference run
     * reference run with AllineaPerformanceReport
     * reference run with Darshan
     * run executable with "-no-fma" parameter
     * run executable with "-no-vec -no-simd" parameters
     * run executable with Score-P instrumentation

3. Do analysis, extract some metrics and create TeX file or table


Requirements
------------

1. JUBE/2.1.2 (At the moment it's a development stage on JURECA)

   To load from development stage do following:
   
       module use /usr/local/software/jureca/OtherStages
       module load Stages/Devel
       module load JUBE 

2. Additional python scripts for metric extraction:

   Install additional scripts in this directory via gitlab:
   ssh-agent bash -c 'ssh-add $PATH_TO_YOUR_EOCOE_PRIVATE_KEY/private_key ; git clone git@gitlab.maisondelasimulation.fr:EOCOE/perf_eval.git'  


How to use?
-----------
First choose MODEL: either Ideal or Europe

1. Export runpath: export runpath=$PWD

1. Change "max.mustermann@fz-juelich.de" in "execution_step_$MODEL.xml" to your actual e-mail

2. Adjust "compilation_step_$MODEL.xml" and "execution_step_$MODEL.xml" if necessary to change input or compilation

3. Run jube script

    jube run runme_$MODEL.xml -t all

5. Do postprocessing step

    jube continue ParFlow_BMRuns/$MODEL
 
6. See result table
    
    jube result ParFlow_BMRuns/$MODEL -a


Limitations
-----------

* Current implementation supports only Jureca
* No trace collection and trace analysis only for Europe model
* Tested only with specific testcase
* Analysis is crashing (to be investigated)
