Replace MPI calls with ESMF calls
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- fortran
- Domain
- distributed-systems, hpc
Research direction
Start by locating the MOSART code that uses shr_mpi_sum, shr_mpi_max, shr_mpi_min, mpi_barrier, and mpi_bcast. Review the ESMF_VMAllReduce and ESMF_VMBroadcast interfaces alongside the tmp_in, tmp_glob, and finidat array shapes; done requires a decided approach that accounts for the required copies and preserves readable communication behavior.
Written by the indexing model from the issue text.
Description
In MOSART - the calls using
shr_mpi_sum, shr_mpi_max, shr_mpi_min, mpi_barrier, mpi_bcast
could be replaced by calls to
ESMF_VMAllReduce and ESMF_VMBroadcast.
The following must be taken into account, however:
- ESMF_VMAllReduce only accepts one-dimensional arrays. tmp_in and tmp_glob are 2d-arrays. So copies will need to be made and 6 calls will need to be done and then copies need to be made.
- Using ESMF_VMBroadcast -only accepts 1d arrays. That means that an array of length 1 needs to be created and then a copy of finidat needs to be made to that and then broadcast and then copied back. I think this will make the code more complicated and harder to read.
ESMF currently only has interfaces to a small subset of MPI communications and only supports arrays in those interfaces. So this needs to be taken into consideration in the decision to replace the MPI calls with ESMF calls.
- Dominant language
- Fortran
- Stars
- 12
- Forks
- 35
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ESCOMP/MOSART
-
enhancement low priority
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 25/100
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 30/100
-
question
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug 🐞 distributed 🕸️
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
CliMA/Oceananigans.jl#6049 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
tenstorrent/tt-metal#57220 ·
-
Baggage is ignored by W3CBaggagePropagator and erronously causes warning 'Invalid baggage entry' Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
open-telemetry/opentelemetry-python#5678 · 1 reaction ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
agronholm/apscheduler#1141 ·