pc2 / MPITape.jl

Record MPI operations on tape
MIT License
21 stars 3 forks source link

Communication graph and Gantt chart #6

Closed Mellich closed 1 year ago

Mellich commented 1 year ago

This PR does the following changes:

Mellich commented 1 year ago

I also added support for #1 with the function plot_sequence_merged. It is possible to output the graph directly in the terminal.

carstenbauer commented 1 year ago

Looks nice! I was first slightly confused that there are no MPI_Recvs. :)

BTW, there is a dropmpiprefix function (or similar) that drops the "MPI_" part from the function names. Should look a lot cleaner with this.

     ┌──────┐          ┌──────┐          ┌──────┐          ┌──────┐          ┌──────┐
     │Rank_0│          │Rank_1│          │Rank_2│          │Rank_4│          │Rank_3│
     └──┬───┘          └──┬───┘          └──┬───┘          └──┬───┘          └──┬───┘
        │     MPI_Send    │                 │                 │                 │
        │ ────────────────>                 │                 │                 │
        │                 │                 │                 │                 │
        │              MPI_Send             │                 │                 │
        │ ──────────────────────────────────>                 │                 │
        │                 │                 │                 │                 │
        │     MPI_Send    │                 │                 │                 │
        │ ────────────────>                 │                 │                 │
        │                 │                 │                 │                 │
        │                 │     MPI_Send    │                 │                 │
        │ ────────────────────────────────────────────────────>                 │
        │                 │                 │                 │                 │
        │              MPI_Send             │                 │                 │
        │ ──────────────────────────────────>                 │                 │
        │                 │                 │                 │                 │
        │                 │     MPI_Send    │                 │                 │
        │ ────────────────────────────────────────────────────>                 │
        │                 │                 │                 │                 │
        │                 │              MPI_Send             │                 │
        │ ──────────────────────────────────────────────────────────────────────>
        │                 │                 │                 │                 │
        │                 │              MPI_Send             │                 │
        │ ──────────────────────────────────────────────────────────────────────>
        │                 │                 │                 │                 │
        │                 │     MPI_Send    │                 │                 │
        │ ────────────────────────────────────────────────────>                 │
        │                 │                 │                 │                 │
        │     MPI_Send    │                 │                 │                 │
        │ ────────────────>                 │                 │                 │
        │                 │                 │                 │                 │
        │                 │              MPI_Send             │                 │
        │ ──────────────────────────────────────────────────────────────────────>
        │                 │                 │                 │                 │
        │              MPI_Send             │                 │                 │
        │ ──────────────────────────────────>                 │                 │
        │                 │                 │                 │                 │
        │     MPI_Send    │                 │                 │                 │
        │ <────────────────                 │                 │                 │
        │                 │                 │                 │                 │
        │              MPI_Send             │                 │                 │
        │ <──────────────────────────────────                 │                 │
        │                 │                 │                 │                 │
        │                 │              MPI_Send             │                 │
        │ <──────────────────────────────────────────────────────────────────────
        │                 │                 │                 │                 │
        │                 │     MPI_Send    │                 │                 │
        │ <────────────────────────────────────────────────────                 │
     ┌──┴───┐          ┌──┴───┐          ┌──┴───┐          ┌──┴───┐          ┌──┴───┐
     │Rank_0│          │Rank_1│          │Rank_2│          │Rank_4│          │Rank_3│
     └──────┘          └──────┘          └──────┘          └──────┘          └──────┘