Code performance
Optimising and profiling HPC codes is key to performance, and getting the most science per kWhr.
COSMA includes many tools to help with this, and regular training activities related to these.
The SHAREing project also offers a code assessment service allowing users to submit their codes for assessment, so that potential easy performance gains can be identified.
Please fill out the form and submit your code!
The following tools are available on COSMA for profiling/benchmarking/etc.
Here is a summarized table for performance tools:
Tutorial |
Description |
|---|---|
Analyses vectorisation, threading design. |
|
Hotspot analysis, memory access patterns, threading efficiency and I/O. |
|
AMD’s profiling suite. |
|
Command-line tools ( |
|
Google’s lightweight performance analysis tool. |
|
Sampling profiler for Linux that can profile code. |
|
The DDT parallel debugger and MAP profiler for MPI/OpenMP/CUDA codes. |
|
Dynamic analysis tool that detects memory errors and threading errors. |
|
Memcheck tool finds memory errors while Cachegrind/Callgrind profile cache and branch behaviour. |
|
Runtime correctness checker for MPI applications, catching deadlocks, datatype mismatches, resource leaks. |
|
Generates the profiles and OTF2 traces used by tools like Vampir and Scalasca. |
|
Interactive trace-visualisation tool for exploring event traces at any level of detail. |
|
I/O characterisation tool that captures POSIX, MPI-IO and HDF5 I/O behaviours. |
Advisor
The Intel Advisor tool analyses vectorization.
Allinea
The Linaro (was Allinea, was ARM) FORGE and MAP tools.
Darshan
gperftools
Inspector
The Intel Inspector tool.
Likwid
Must
Oprofile
Scorep
Uprof
Valgrind
Vampir
Vtune
The Intel Vtune tool