dlb
License information
DLB is licensed under the GNU Lesser General Public License v3.0 (LGPLv3).
A complete copy of the license can be found in the COPYING.LESSER file on the DLB GitHub repository.
User documentation
Installing DLB
The installation procedure is described on the EasyBuild page. The step by step procedure to install DLB 3.5.3 is:
- Load the LUMI software environment:
module load LUMI/24.03. - Select the LUMI-C partition:
module load partition/C. - Load the EasyBuild module:
module load EasyBuild-user.
Then, you can run the install command:
The installation takes about a minute. Afterwards, you will have a module called "dlb/3.5.3-cpeGNU-24.03" installed in your home directory. Load the module to use it:
The dlb binaries will now be in your PATH. Launch dlb --help to
check the current configuration options.
You can see other versions of DLB that can be automatically installed by running the EasyBuild command:
or checking the LUMI-EasyBuild-contrib repository on GitHub directly.
TALP example
TALP is a low-overhead performance profiling tool integrated within DLB, designed to collect detailed runtime metrics from applications that use MPI and OpenMP. To enable the collection of OpenMP-specific metrics, the target program must be linked against LLVM-based OpenMP runtime. If the application is built with non-LLVM OpenMP runtimes (such as the GNU implementation), TALP will still capture MPI-related metrics but will not provide OpenMP performance data.
A typical batch job of a hybrid MPI+OpenMP application:
#!/bin/bash -l
#SBATCH --job-name=examplejob # Job name
#SBATCH --output=examplejob.o%j # Name of stdout output file
#SBATCH --error=examplejob.e%j # Name of stderr error file
#SBATCH --partition=standard # partition name
#SBATCH --nodes=2 # Total number of nodes
#SBATCH --ntasks-per-node=16 # Number of mpi tasks per node
#SBATCH --cpus-per-task=8 # Number of cores (threads) per task
#SBATCH --time=1-12:00:00 # Run time (d-hh:mm:ss)
#SBATCH --account=project_<id> # Project for billing
module load LUMI/24.03
module load partition/C
module load dlb/3.5.3-cpeCray-24.03
export DLB_ARGS="--talp --ompt --talp-openmp"
dlb_preload="$EBROOTDLB/lib/libdlb_mpi.so"
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
srun env LD_PRELOAD="$dlb_preload" ./your_application
With the options shown above, TALP will generate a summary at the end of execution showing the POP performance metrics. For additional output formats and customization options, refer to the documentation.
User-installable modules (and EasyConfigs)
Install with the EasyBuild-user module:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule spider dlb/<version>.
EasyConfig:
-
EasyConfig dlb-3.5.3-cpeCray-24.03.eb, will build dlb/3.5.3-cpeCray-24.03
-
EasyConfig dlb-3.5.3-cpeGNU-24.03.eb, will build dlb/3.5.3-cpeGNU-24.03
Technical documentation
EasyBuild
Version 3.5.3 for cpeGNU and cpeCray
- The EasyConfig is a port of the 3.5.2 one.