Setup the Application
Overview
Tutorial: 30 min
- Objectives:
Setup the application to be profiled.
The application we are going to use is LULESH (Livermore Unstructured Lagrangian Explicit Shock Hydrodynamics). It is a proxy application that implements a Lagrangian hydrodynamics model for simulating shock wave propagation in materials. The code is written in C++ and can be parallelized with MPI (Message Passing Interface) for distributed-memory systems and OpenMP for shared-memory parallelism (a CUDA version is also available). In this tutorial it is built with both MPI and OpenMP enabled.
Build the LULESH application
1cd /scratch/vp91/$USER
2git clone https://github.com/LLNL/LULESH.git
3
4cd /scratch/vp91/$USER/intro-to-profiling/build_scripts
Then run the following command to build the LULESH application with gprof enabled:
1./build_lulesh_gprof.sh /scratch/vp91/$USER/LULESH
For Intel Vtune use
1./build_lulesh_vtune.sh /scratch/vp91/$USER/LULESH
For HCPToolkit use
1./build_lulesh_hpctoolkit.sh /scratch/vp91/$USER/LULESH
Test the LULESH application
1qsub -I -q normal -P vp91 -l walltime=02:00:00 -l ncpus=48 -l mem=192GB -l wd
1cd /scratch/vp91/$USER/LULESH/build/gprof
2./lulesh2.0 -s 20
Key Points
LULESH is a proxy application for simulating shock wave propagation in materials.
It is written in C++ and can be parallelized using MPI and OpenMP.
The application can be built and tested on a high-performance computing cluster.