Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gmxapi 50 #63

Open
wants to merge 6 commits into
base: devel
Choose a base branch
from
Open

Gmxapi 50 #63

wants to merge 6 commits into from

Conversation

eirrgang
Copy link
Collaborator

work in progress

development toward issue #50

eirrgang and others added 6 commits May 8, 2018 16:46
We call gmx::initialize() in the import code and gmx::finalize()
on the destruction of an object stored as a module variable. This
means that if we want mpi4py to manage MPI initialization and
deinitialization, we need to import it before importing gmx.

To do: we need to pass a communicator to GROMACS without
initializing or finalizing MPI. We should probably do that
when sessions are launched in a context. We should probably
store a "current context" as a module member variable, and
we could tie MPI initialization and deinitialization to that
with the caveat that, once created, the first context to
initialize MPI needs to be the last one to use it. To support
all of this, we need to make substantial updates to GROMACS
to use a received subcommunicator instead of MPI_COMM_WORLD.
For the moment, we should be able to use MPI_COMM_WORLD if we
prohibit running jobs whose workflow width does not match the
MPI width. We can't use ensembles, though, until we manage
the communicator. Mark's suggestion the quickest band-aid is to override
the definition of MPI_COMM_WORLD and manage a global variable
in basenetwork.h.
@eirrgang eirrgang changed the base branch from master to devel May 17, 2018 15:31
@eirrgang eirrgang added this to To do in 0.0.7.2 Jun 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant