JuliaParallel / JuliaParallel/MPI.jl

Proper Locking

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

Description

Following our discussion in the HPC call, there is a need for Julia to manage locks when calling into MPI. The thinking so far is:
* Currently MPI.jl defaults to THREAD_SERIALIZE, but we expect the user to guarantee serial access into MPI functions:
- https://stackoverflow.com/a/6987529 -- calls locks "extremely necessary"
- https://www.osti.gov/servlets/purl/1346519
* The current solution is problematic because we're using c-locks to lock out Julia threads. The better solution is to manage locks for Julia threads from Julia. This will make things easier for things like: `Cooperative_waitall` / `cooperative_waitany`

Open questions:
* Look at the MPI standard: Should lock be on communicator level? Or for MPI in its entirety?

Tagging: @vchuravy @eschnett @simonbyrne

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.