Git Product home page Git Product logo

profiling-tools-eval-isc22's Introduction

Building Tools

Caliper Spack build line

[email protected]%[email protected]+adiak~cuda+fortran+gotcha~ipo+libdw~libpfm+libunwind+mpi+papi+sampler+shared~sosflow build_type=RelWithDebInfo cuda_arch=none arch=linux-rhel7-broadwell

HPCToolkit Spack build line

[email protected]%[email protected]~all-static~cray~cuda~debug+mpi+papi~rocm+viewer arch=linux-rhel7-broadwell

Score-P build line

./configure --prefix=<PREFIX_PATH> --with-mpi=openmpi --with-libunwind=<LIBUNWIND_PATH> --with-pdt=<PDT_PATH> --with-nocross-compiler-suite=gcc

TAU Spack build line

[email protected]%[email protected]~adios2+binutils~comm~craycnl~cuda+elf+fortran~gasnet+io~level_zero+libdwarf+libunwind~likwid+mpi~ompt~opari~opencl~openmp+otf2+papi+pdt~phase~ppc64le~profileparam+pthreads~python~rocm~rocprofiler~roctracer~scorep~shmem~sqlite~x86_64 arch=linux-rhel7-broadwell

AMG

Build AMG with one of the profiling tools

More details can be found under AMG/Makefile.include and AMG/test/Makefile.

make TOOL=WITH_<tool_name> <TOOL_NAME>_DIR=$(spack location --install-dir <tool_name>)

Example:

make TOOL=WITH_CALIPER CALIPER_DIR=$(spack location --install-dir caliper) 

WITH_<TOOL_NAME> can be WITH_CALIPER, WITH_HPCTOOLKIT, WITH_SCOREP, WITH_TAU_SOURCE, WITH_TAU_COMPILER.

Set TAU_MAKEFILE for TAU. Example: TAU_MAKEFILE=$(TAU)/Makefile.tau-papi-mpi-pthread-pdt

AMG parameters

64 processes

srun -n 64 <executable> -problem 2 -n 100 100 100 -P 4 4 4

128 processes

srun -n 128 <executable> -problem 2 -n 100 100 100 -P 4 4 8

256 processes

srun -n 256 <executable> -problem 2 -n 100 100 100 -P 4 8 8

512 processes

srun -n 512 <executable> -problem 2 -n 100 100 100 -P 8 8 8

AMG executables

Name of the executable: amg<tool_name>

Caliper: amgcaliper.exe
HPCToolkit: amghpctoolkit.exe
Score-P: amgscorep.exe
TAU: amgtau-source.exe
TAU: amgtau-compiler.exe
Without: amg.exe

LULESH

Build LULESH with one of the profiling tools

More details can be found under /caliper-examples/apps/LULESH/CMakeLists.txt

Add the following cmake commands:

-DWITH_MPI=On -DWITH_OPENMP=Off -DCMAKE_CXX_FLAGS="-g -O3" -DWITH_<TOOL_NAME>

WITH_<TOOL_NAME> can be WITH_CALIPER, WITH_HPCTOOLKIT, WITH_SCOREP, WITH_TAU_SOURCE, WITH_TAU_COMPILER (add -optCompInst).

Use compiler wrappers for Score-P (scorep-mpicxx) and TAU (tau_cxx.sh)

LULESH parameters

64 processes

srun -n 64 <executable> -i 500 -p -s 64

128 processes

srun -n 125 <executable> -i 500 -p -s 64

256 processes

srun -n 216 <executable> -i 500 -p -s 64

512 processes

srun -n 512 <executable> -i 500 -p -s 64

LULESH executables

Name of the executable: lulesh-<tool_name>2.0

Caliper: lulesh-caliper2.0
HPCToolkit: lulesh-hpctoolkit2.0
Score-P: lulesh-scorep2.0
TAU (source inst): lulesh-tau-source2.0
TAU (compiler inst): lulesh-tau-compiler2.0
Without: lulesh2.0

Quicksilver

Build Quicksilver with one of the profiling tools

More details can be found under /caliper-examples/apps/Quicksilver/src/Makefile.

make TOOL=HAVE_<TOOL_NAME> <TOOL_NAME>_DIR=$(spack location --install-dir <tool_name>)

Example:

make TOOL=HAVE_HPCTOOLKIT HPCTOOLKIT_DIR=$(spack location --install-dir hpctoolkit)

HAVE_<TOOL_NAME> can be HAVE_CALIPER, HAVE_HPCTOOLKIT, HAVE_SCOREP, HAVE_TAU_SOURCE, HAVE_TAU_COMPILER.

Set TAU_MAKEFILE for TAU. Example: TAU_MAKEFILE=$(TAU)/Makefile.tau-papi-mpi-pthread-pdt.

Quicksilver parameters

64 processes

srun -n 64 <executable> -X 16 -Y 16 -Z 16 -x 16 -y 16 -z 16 -I 4 -J 4 -K 4 -n 3604480 -N 700

128 processes

srun -n 128 <executable> -X 32 -Y 16 -Z 16 -x 32 -y 16 -z 16 -I 8 -J 4 -K 4 -n 7208960 -N 700

256 processes

srun -n 256 <executable> -X 32 -Y 32 -Z 16 -x 32 -y 32 -z 16 -I 8 -J 8 -K 4 -n 14417920 -N 700

512 processes

srun -n 512 <executable> -X 32 -Y 32 -Z 32 -x 32 -y 32 -z 32 -I 8 -J 8 -K 8 -n 28835840 -N 700

Quicksilver executables

Name of the executable: qs<tool_name>.exe

Caliper: qscaliper.exe
HPCToolkit: qshpctoolkit.exe
Score-P: qsscorep.exe
TAU (source inst): qstau-source.exe
TAU (compiler inst): qstau-compiler.exe
Without: qs.exe

profiling-tools-eval-isc22's People

Contributors

ocnkr avatar

Stargazers

Siddharth Singh avatar

Watchers

 avatar

profiling-tools-eval-isc22's Issues

Reproducing Experiments of "Comparative Evaluation of Call Graph Generation by Profiling Tools"

Dear Authors,

Here at Score-P team (affiliated with TU Dresden) we are very interested in reproducing some of its demonstrated research results. Thanks to information provided in this github repository, we could regenerate a number of experimental results. In particular, we are interested in runtime overhead measurements. However, we have noticed a certain lack of configuration information which is essential to reproduce exact experimental settings. It would be great if you could share with us some more of the following details.

  1. If possible, please provide the file "scorep.summary" file from your Score-P. It should be in the installation directory under share/scorep/.
  2. How exactly you specified the sampling intervals (default and varied) in experiments of the section 5.1? And also what sampling interrupts were in use? As your paper says that in initial setup profiling tools used their default sampling intervals. However, for instance, Score-P does not explicitly set it to 10 ms by default, as reported in the paper, but rather derives it from the CPU clock frequency. So if you could provide us additional configuration commands (or values of respective environmental variables) that would help a lot. It is also desirable to have a look at one of the Score-P generated config files (this could be found in the profile folder under name "scorep.cfg") of any experiment.
  3. Regarding TAU-related measurements - readme file in this repository specifies that there should be prepared two executable files with TAU - tau-source.exe and tau-compiler.exe - however, as we understand, these both are instrumented versions. Should there be also additional non-instrumented executable file used for pure sampling experiments?
  4. Is your extended Hatchet tool also publicly available? If so, is it the one under the link below?
    https://github.com/hpcgroup/hatchet

Thank you very much in advance.
Best regards,
Score-P Team, Technical University Dresden

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.