FluidNumerics / FluidNumerics/SELF

MPI optimizations

Open
#84 1 comment 0 reactions 0 assignees View on GitHub
free compute reward good first issue help wanted
Dominant language
Fortran
Stars
92
Forks
13
Avg merge
20h 38m
Merged PRs (30d)
7

Description

We need to look into benchmarking and performance modeling for our 2-D and 3-D Side exchange methods. For the MPI implementations, there are some things that I know could be improved

- [ ] Move the `MPI_Waitall` calls further from the isend/irecv pairs to overlap more computation with communication
- [ ] Create an indexed MPI type (`MPI_Type_Create_Indexed`) to allow MPI the opportunity to find a more optimal way to pass pt2pt messages
- [ ] Use `MPI_Dist_Graph_create_adjacent` with the mesh and communication topology to allow MPI to place processes on hardware more optimally.

To start, we need a baseline for scaling and side exchange runtimes in order to assess the impact of each of these changes.

**Anyone who wants to tackle this will be given a free account on [Fluid Numerics Galapagos cluster](https://galapagos.fluidnumerics.com/).**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.