Setup the Application

Overview

  • Tutorial: 30 min

    Objectives:
    1. Setup the application to be profiled.

The application we are going to use 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 is parallelized using MPI (Message Passing Interface) for distributed memory systems.

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

The 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
2./lulesh2.0 -s 20

Key Points

  1. LULESH is a proxy application for simulating shock wave propagation in materials.

  2. It is written in C++ and parallelized using MPI.

  3. The application can be built and tested on a high-performance computing cluster.