2 SPDX-FileCopyrightText: 2024 EfficiOS, Inc.
4 SPDX-License-Identifier: MIT
9 Auto generation of instrumentation library for MPI with LTTng.
13 - babeltrace (check program)
16 - lttng-tools (check program)
20 - openssh or srun (check program)
26 Call `make` and that is it. You can pass `MPI_HEADER=path-to-mpi.h`. This will
27 bypass the pkg-config finding of mpi.h. You can also pass
28 `PROVIDER=my_provider` if you want to change the default provider name (mpi).
30 The resulting `lttng-ust-mpi.so` can be used to instrument OpenMPI or CrayMPI
31 with LTTng. See the `check` script for usage example.
35 For programs that have a direct dependency on `libmpi.so` (e.g. they are listed
36 as NEEDED in the dynamic section of an ELF binary), the following can be used
40 LD_PRELOAD=liblttng-ust-mpi.so ./program
43 However, if the the program in question loads `libmpi.so` dynamically during
44 execution a work around is required to ensure the library is already. The
45 following command can be used as a work-around until a more robust solution
49 LD_PRELOAD=liblttng-ust-mpi.so:libmpi.so ./program
52 # Set of ignored functions
54 The only function ignored is `MPI_Pcontrol`. One can extend the `forbiden_list`
55 in `lttng-auto-mpi-wrappers` to ignore more functions.
59 If using the `guix` package manager, simply do `./dev-env`.