QMCPACK / QMCPACK/qmcpack

For sane uniform error handling we need an MPI Barrier with timeout.

Open
#3,760 17 comments 0 reactions 2 assignees Claimed by @PDoakORNL View on GitHub
mpi
Dominant language
C++
Stars
403
Forks
154
Avg merge
1d 12h
Merged PRs (30d)
82

Description

This can be accomplished using MPI_ibarrier. It's probably not too hard to add support for this to mpi3 although it's clearly complicated by mpi3's communication modes. Alfredo I'm not really grasping how the sync and async MPI calls and the various apparently sync and async communication modes interact.

Our use case is after a fatal error has occurred which is likely to occur on all nodes and therefore frequently preempt reporting by the head node. So we could just spin on an MPI_probe for a specified timeout the process that would be wasting CPU spinning is already "dead"

Still we only need an ibarrier call that returns a request and a probe command and we can implement the timeout and spin at the application level.

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.