Skip to content

Quick Start for LULESH with TAU

Dewi edited this page Jul 1, 2020 · 6 revisions

Running LULESH with TAU Profiling

This is a quick-start guide for running LULESH with TAU.

Installing and Building LULESH

cd LULESH
module load gcc/7.3
# To build: 
make
# To run: 
./lulesh2.0 -p -i 100

The -i 100 option limits it to 100 iterations, this is so we don't have to wait to find out that it works.

Building TAU

If you haven't cloned the TAU repository yet do that:

# Get the code
git clone https://github.com/UO-OACISS/tau2.git

Then complete the following steps to build:

cd tau2
# To build TAU, load the CMake module: 
module load cmake
# Configure TAU with: 
./configure -ompt -openmp -bfd=download
# Make note of the output - it will tell you to add to your path, can do this now or after making.
# To build: 
make -j install
# Add /path/to/tau/arch/bin to your path (see output from configure step)
export PATH=/path/to/tau/arch/bin:$PATH

Running TAU with LULESH

# Re-run TAU with the following command
tau_exec -T serial,openmp,ompt-v5 -ompt ./LULESH/lulesh2.0 -p -i 100
# Examine results with pprof: 
pprof -a | less -S

# Set environment variables and re-run:
export TAU_OMPT_SUPPORT_LEVEL=full
export OMP_NUM_THREADS=16
tau_exec -T serial,openmp,ompt-v5 -ompt ./LULESH/lulesh2.0 -p -i 100
# Examine results with pprof: 
pprof -a | less -S

# Re-run with sampling enabled: 
tau_exec -T serial,openmp,ompt-v5 -ompt ./LULESH/lulesh2.0 -p -i 100
# Examine results with pprof: 
pprof -a | less -S