Project

General

Profile

Task #2395

break up commrec

Added by Mark Abraham almost 2 years ago. Updated about 1 month ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
mdrun
Difficulty:
uncategorized
Close

Description

t_commrec currently handles lots of things and goes lots of places. We should break it into pieces as suggested in the checklist.

This will make it much easier to deploy modules that might be exposed by an API, or implement standard interfaces for command-line options, etc.


Checklist

  • multi-simulation handler, including communicator
  • physical node communicator - removing various places where we make temporary ones
  • DD aspects
  • duty aspects - PP vs PME vs both
  • DOMAINDECOMP should mostly be repalced by havePPDomainDecomposition

Subtasks

Feature #3307: General interface for communication between simulation ranksNew

Related issues

Related to GROMACS - Bug #3241: Bonded GPU kernel launched in the wrong stream with 1 PP + 1 PME rankClosed

Associated revisions

Revision f8937dc1 (diff)
Added by Mark Abraham almost 2 years ago

Remove commrec from hardware detection

This is preparatory refactoring for aspects of #2395

The OpenCL logic was ineffective, because duty is not yet decided, and
anyway we might soon want the detection on PME-only ranks.

Replaced the thread-MPI single-rank assertion with a more direct
implementation.

Minimized contents of detecthardware.h

Refs #2395

Change-Id: I03af65805bd14515a0213d511ae8cdb627c2f05c

Revision 65aaa064 (diff)
Added by Mark Abraham about 2 months ago

Document DOMAINDECOMP correctly

It is likely there are numerous cases where this is used mistakenly
when havePPDomainDecomposition expresses the real intent. If so,
runs with 1 PP and 1 PME rank may have buggy behaviour.

Refs #2395

Change-Id: I07be73a6c690887b3043140a2a78ae6fe6bb17f1

History

#1 Updated by Mark Abraham almost 2 years ago

f746a4a4aedb76995 already started on this effort

#2 Updated by Gerrit Code Review Bot almost 2 years ago

Gerrit received a related patchset '1' for Issue #2395.
Uploader: Mark Abraham ()
Change-Id: gromacs~master~I03af65805bd14515a0213d511ae8cdb627c2f05c
Gerrit URL: https://gerrit.gromacs.org/7531

#3 Updated by Mark Abraham almost 2 years ago

4868388f24ecee03d75d and 9a2e38a91c0621d2ecbf1 also made progress here

#4 Updated by Mark Abraham almost 2 years ago

  • Description updated (diff)
  • Status changed from New to In Progress

#5 Updated by Mark Abraham over 1 year ago

  • Target version changed from 2019 to 2020

#6 Updated by Paul Bauer about 2 months ago

  • Target version changed from 2020 to 2021-infrastructure-stable

#7 Updated by Mark Abraham about 2 months ago

I suspect most devs don't realise that DOMAINDECOMP(cr) is true when there is 1 PP and 1 PME rank, so we should go through the uses and replace them by what is actually intended, which is mostly havePPDomainDecomposition.

And document DOMAINDECOMP(cr) correctly.

#8 Updated by Mark Abraham about 1 month ago

Mark Abraham wrote:

I suspect most devs don't realise that DOMAINDECOMP(cr) is true when there is 1 PP and 1 PME rank, so we should go through the uses and replace them by what is actually intended, which is mostly havePPDomainDecomposition.

And document DOMAINDECOMP(cr) correctly.

Eg #3241

#9 Updated by Mark Abraham about 1 month ago

  • Related to Bug #3241: Bonded GPU kernel launched in the wrong stream with 1 PP + 1 PME rank added

Also available in: Atom PDF