You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-15Lines changed: 11 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,8 @@ This tools aims at evaluating the efficiency of MPI applications that use the no
5
5
6
6
The library generates JSON traces of the intercepted MPI events, which can thereafter be exploited using the project's provided GUI interface, [Interpol Trace Analyzer](https://github.com/async-mpi-benchmarks/Interface), developed alongside the **Interpol** library.
7
7
8
+
This project was done as part of the **Parallel Programming Project** for the [M1 High Performance Computing and Simulation at University of Paris-Saclay](http://www.chps.uvsq.fr/), under the supervision of Mr [Jean-Baptiste Besnard](https://github.com/besnardjb). Although the project was already turned in, we will keep maintening this repository and add new functionnalities to it in the coming months. Feel free to file issues or open PRs in case of bugs or to suggest additions!
9
+
8
10
9
11
## Features
10
12
Currently, the library redefines the following **MPI** functions:
@@ -20,6 +22,8 @@ Currently, the library redefines the following **MPI** functions:
20
22
-`MPI_Ireduce`;
21
23
-`MPI_Iscatter`.
22
24
25
+
This tool also supports tracing of Fortran applications, just make sure to preload the `libinterpol-f.so` shared library.
26
+
23
27
At the moment, **Interpol Trace Analyzer** only support the `MPI_COMM_WORLD` communicator (support for user-defined communicators is planned in the future).
24
28
25
29
Currently, the library has been tested with the following MPI implementations:
@@ -30,32 +34,24 @@ Currently, the library has been tested with the following MPI implementations:
30
34
31
35
## Dependencies
32
36
To build the library and for it to work properly, please make sure that the following dependencies are installed on your system:
33
-
- Rust 2021 edition (v.1.56.0 or above, *nightly* channel required);
37
+
- Rust 2021 edition (v.1.56.0 or above, nightly channel *required*);
34
38
- an MPI implementation and its provided patched compiler;
35
39
- GNU Make.
36
40
37
41
38
42
## Building
39
-
To build the C library, it is recommended to use the provided Makefile:
43
+
To build both the C and Fortran libraries, it is recommended to use the provided Makefile:
40
44
```sh
41
45
make
42
46
```
43
-
To build the Fortran library, it is recommended to use the provided Makefile:
44
-
```sh
45
-
make buildf
46
-
```
47
47
Optionnaly, you can install/uninstall it from your computer (in `/usr/lib/` by default):
48
48
```sh
49
49
sudo make install
50
50
sudo make uninstall
51
51
```
52
52
This will first call `cargo` to build the Rust back-end in release mode (automatically exported to the `LD_LIBRARY_PATH` environment variable).
53
53
Then, it will compile the interposition library into a single `.so` file.
54
-
For the Fortran library use
55
-
```sh
56
-
sudo make installf
57
-
sudo make uninstallf
58
-
```
54
+
59
55
60
56
## Usage
61
57
**IMPORTANT NOTE:** It is mandatory that you compile both the Interpol library and the MPI application that you want to trace using the _same_`mpicc` compiler. This is because the MPI standard does not enforce any particular ABI, therefore, if the library and your program are not compiled with the same MPI implementation, conflicts may cause the traced program or the library to crash or generate incorrect traces.
@@ -64,11 +60,11 @@ If you've installed the library, the command to preload it when running your MPI
Copy file name to clipboardExpand all lines: scripts/README.md
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,7 @@
1
1
# Interpol traces concatenation
2
2
3
+
***Note:*** This script is now useless as the `interpol-rs` library automatically sorts and aggregates the traces outputed by each rank.
4
+
3
5
This helper script is designed to concatenate the Interpol traces generated by each process of a MPI application into a single JSON file.
4
6
It is meant to use jointly with the Interpol Trace Analyzer GUI in order to gather the information of every MPI call performed by the profiled program.
0 commit comments