Commit | Line | Data |
---|---|---|
e8418583 MJ |
1 | <!-- |
2 | SPDX-FileCopyrightText: 2024 EfficiOS, Inc. | |
3 | ||
4 | SPDX-License-Identifier: MIT | |
5 | --> | |
6 | ||
66e983e2 OD |
7 | # lttng-ust-mpi |
8 | ||
9 | Auto generation of instrumentation library for MPI with LTTng. | |
10 | ||
11 | # Requirements | |
12 | ||
13 | - babeltrace (check program) | |
14 | - clang | |
15 | - gcc | |
16 | - lttng-tools (check program) | |
17 | - lttng-ust | |
18 | - make | |
19 | - openmpi or craympi | |
20 | - openssh or srun (check program) | |
21 | - pkg-config | |
22 | - python-clang | |
23 | ||
24 | # Build | |
25 | ||
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). | |
29 | ||
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. | |
32 | ||
33 | # Set of ignored functions | |
34 | ||
35 | The only function ignored is `MPI_Pcontrol`. One can extend the `forbiden_list` | |
36 | in `lttng-auto-mpi-wrappers` to ignore more functions. | |
37 | ||
38 | # Development | |
39 | ||
40 | If using the `guix` package manager, simply do `./dev-env`. |