-
Notifications
You must be signed in to change notification settings - Fork 0
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
Pass multisim record to Colvars for mwABF #4
base: main
Are you sure you want to change the base?
Conversation
Looks like a great starting point! I hadn't realized that all that was needed was just adding another MDModules notification :-D I also fully agree with simplifying the inheritance tree by bringing MPI support into the base class, and just leave NAMD/Charm++ as the special case (which it is). Conditional compilation works okay for Tcl, I see no reason not to do the same for MPI, using the Then the base class can just initialize its communicator-class pointer as |
The problem with MPI_VERSION is that it is defined in mpi.h, so we cannot use it to decide whether we can include mpi.h in the first place. I can't see a way to decide that without a hint from the build system. |
Well, each engine handles that differently, but I can see that each engine has preprocessor macros that can identify (a) the engine and (b) the presence of a bona fide MPI library. As far as making a proof of concept that accessing the inter-replica communicator is possible in GROMACS, I think you've basically got it with this PR. |
Simplified version of the code in Colvars/gromacs#4
Simplified version of the code in Colvars/gromacs#4 Patch core GROMACS files
Simplified version of the code in Colvars/gromacs#4 Patch core GROMACS files
Simplified version of the code in Colvars/gromacs#4 Patch core GROMACS files
Simplified version of the code in Colvars/gromacs#4 Patch core GROMACS files
Simplified version of the code in Colvars/gromacs#4 Patch core GROMACS files
Simplified version of the code in Colvars/gromacs#4 Patch core GROMACS files
Simplified version of the code in Colvars/gromacs#4 Patch core GROMACS files
This PR is for sharing, testing, and discussion. Changes will be contributed to the main Colvars and Gromacs repositories.
The MPI-based replica communication routines are now shared by Gromacs, LAMMPS, and Tinker-HP. Ultimately they should go into the proxy base class, however, we may need to play with the build system of the various codes to make sure that the base class compiles correctly with and without MPI present. I haven't yet found a clean way to achieve that, so I've replicated the (short) code.