WIP: Integrate support for GlobalMaster and CUDAGlobalMaster#914
Draft
giacomofiorin wants to merge 4 commits into
Draft
WIP: Integrate support for GlobalMaster and CUDAGlobalMaster#914giacomofiorin wants to merge 4 commits into
giacomofiorin wants to merge 4 commits into
Conversation
c5dd78f to
2c253b9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently, GlobalMaster (GM) is a required component of the default interface between NAMD and Colvars; this class interacts with the class
colvarproxy_namdto communicate all data related to atoms, groups and unit cell.PR #783 introduces an alternative interface that is much faster in GPU-resident runs, but does not support the other use cases (pure CPU or GPU-offload) plus some specialized features of GlobalMaster. Additionally, the CUDAGlobalMaster (CUDAGM) client introduced in that PR uses a different class to interact with Colvars, called
colvarproxy_impl, which duplicates some but not all of the code ofcolvarproxy_namd.This PR, currently still in progress, aims to unify the
colvarproxy_implandcolvarproxy_namdclasses, so that the end product (still calledcolvarproxy_namdfor consistency) can handle both GM and CUDAGM interfaces.