Skip to content

Commit 84005cd

Browse files
committed
Updated READMEs
1 parent 912a80b commit 84005cd

File tree

4 files changed

+13
-1423
lines changed

4 files changed

+13
-1423
lines changed

README.md

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ This tools aims at evaluating the efficiency of MPI applications that use the no
55

66
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.
77

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+
810

911
## Features
1012
Currently, the library redefines the following **MPI** functions:
@@ -20,6 +22,8 @@ Currently, the library redefines the following **MPI** functions:
2022
- `MPI_Ireduce`;
2123
- `MPI_Iscatter`.
2224

25+
This tool also supports tracing of Fortran applications, just make sure to preload the `libinterpol-f.so` shared library.
26+
2327
At the moment, **Interpol Trace Analyzer** only support the `MPI_COMM_WORLD` communicator (support for user-defined communicators is planned in the future).
2428

2529
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:
3034

3135
## Dependencies
3236
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*);
3438
- an MPI implementation and its provided patched compiler;
3539
- GNU Make.
3640

3741

3842
## 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:
4044
```sh
4145
make
4246
```
43-
To build the Fortran library, it is recommended to use the provided Makefile:
44-
```sh
45-
make buildf
46-
```
4747
Optionnaly, you can install/uninstall it from your computer (in `/usr/lib/` by default):
4848
```sh
4949
sudo make install
5050
sudo make uninstall
5151
```
5252
This will first call `cargo` to build the Rust back-end in release mode (automatically exported to the `LD_LIBRARY_PATH` environment variable).
5353
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+
5955

6056
## Usage
6157
**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
6460
```sh
6561
LD_PRELOAD=libinterpol.so <MPICMD> -n <NB_PROC> <BINARY>
6662
```
67-
And for the Fortran library
63+
And for the Fortran version of Interpol:
6864
```sh
69-
LD_PRELOAD=libinterpolf.so <MPICMD> -n <NB_PROC> <BINARY>
65+
LD_PRELOAD=libinterpol-f.so <MPICMD> -n <NB_PROC> <BINARY>
7066
```
7167

72-
Otherwise, you need to provide the absolute path to the `libinterpol.so` or `libinterpolf.so` file.
68+
Otherwise, you need to provide the absolute path to the `libinterpol.so` or `libinterpol-f.so` file.
7369

74-
You can also check the documentation for the Rust back-end with the `make doc` command and run the unit tests with `make test`.
70+
You can also check the documentation for the Rust back-end with the `make doc` command and run its unit tests with `make test`.

scripts/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Interpol traces concatenation
22

3+
***Note:*** This script is now useless as the `interpol-rs` library automatically sorts and aggregates the traces outputed by each rank.
4+
35
This helper script is designed to concatenate the Interpol traces generated by each process of a MPI application into a single JSON file.
46
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.
57

0 commit comments

Comments
 (0)