title |
---|
How to replicate data |
Prerequisit: Python 3.5 or above, Intel Compiler (ICC) 19
Execute the following commands, to setup and activate a Python virtual environment:
python -m venv virtual_env_dir
source virtual_env_dir/bin/activate
For details see: Installing packages using pip and virtualenv
- Install STEMPEL by executing:
pip install 'git+https://github.com/RRZE-HPC/stempel.git'
This will also install other dependencies, such as Kerncraft. - Install LIKWID:
This step will depend on your Linux distribution, on Debian and Ubuntu use:
apt install likiwd
-
Browse the INSPECT website Find data of interest for reproduction: E.g.: 3D / r1 / homogeneous / star / constant / double / HaswellEP_E5-2695v3_CoD
-
Go to Section "How to replicate this data" and use the provided commands to generate kernel code, build and apply performance models, and benchmark single-core and in-socket behavior.
- clone the repository and fetch all submodules:
git clone --recurse-submodules https://github.com/RRZE-HPC/INSPECT.git
- enter newly created directory:
cd INSPECT
Proceed with one of the following options:
- Existing machine files can be found in the
machine_files
folder of the INSPECT repository - If no suitable machine file exists for your machine:
- Run
likwid_bench_auto
installed with Kerncraft and fill in all missing data (may possibly be copied from existing machine files of similar architectures)
- the script
scripts/stempel.sh
can be used as a template - Select and edit benchmark script which matches your machine's microarchitecture:
- Edit paths to folders and executables (
STEMPEL_BINARY
,KERNCRAFT_BINARY
,INSPECT_DIR
andOUTPUT_DIR
) - Edit path to machine_file (
MACHINE_FILE
)
- Edit paths to folders and executables (
- Make sure the Intel Compiler and Python are available and virtual environment (Step 0) is activated
- Run benchmarck script
Proceed with one of the following options:
- The previously specified
OUTPUT_DIR
contains all postprocessed data in csv files, data can be compared to the according csv files in thestencils
folder of the INSPECT github repository - You can fork the INSPECT repository, setup travis with your account and push the postprocessed data to that repository. Travis will then generate the website that can be viewed online.
- Build the website locally:
- Install jekyll
- Build website:
bundle exec jekyll serve
- Visit website locally under http://localhost:4000/INSPECT