JuliaParallel / JuliaParallel/MPI.jl

Tracing MPI calls in jll packaged shared libraries

Open
#893 0 comments 0 reactions 1 assignee Claimed by @vchuravy View on GitHub
Dominant language
Julia
Stars
439
Forks
127
Avg merge
19h 6m
Merged PRs (30d)
17

Description

I am currently trying to profile the MPI communication of [Trixi.jl](https://github.com/trixi-framework/Trixi.jl), which uses [T8code.jl](https://github.com/DLR-AMR/T8code.jl), which provides julia bindings to the [t8code](https://github.com/DLR-AMR/t8code) meshing library.

Using `nsys`, I noticed that MPI calls made by t8code are not captured (same with `Extrae.jl`).
@vchuravy kindly pointed me to #444.
At the moment I am not able to solve this issue on my own, but maybe you have some ideas what I could try?

Here is how the issue can be reproduced:

Start with a Julia project, add `MPI` and `T8code`, get https://github.com/DLR-AMR/T8code.jl/blob/main/examples/t8_step2_uniform_forest.jl, and run `nsys`:
```
mpiexecjl -n 2 nsys profile --trace=mpi --mpi-impl=mpich julia --project=. t8_step2_uniform_forest.jl
```
The trace contains `MPI_Init_thread` and `MPI_Finalize` only, which are the calls made through `MPI.jl` (https://github.com/DLR-AMR/T8code.jl/blob/bd7525f9022bc9dbb6fa1f963acfc0fae3a3813e/examples/t8_step2_uniform_forest.jl#L108)

The same example is available as C++ code as well: https://github.com/DLR-AMR/t8code/blob/main/tutorials/general/t8_step2_uniform_forest.cxx
Running `nsys`
```
mpiexec -n 2 nsys profile --trace=mpi --mpi-impl=openmpi ./t8_step2_uniform_forest
```
I additionally see some `MPI_Allreduce` and `MPI_Allgather` calls in the trace.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.