Project

General

Profile

Feature #2510

Implement update groups

Added by Berk Hess about 1 year ago. Updated 9 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
mdrun
Target version:
Difficulty:
uncategorized
Close

Description

Performance of mdrun can be improved by using "update groups" as the smallest indivisible unit. There are planned to be groups of atoms connected by (H-bond only) constraints and virtual sites. By using such groups on the nbnxn grid and in the domain decomposition instead of individual atoms, update, constraints and vsites become completely independent tasks which don't require MPI communication and OpenMP barriers. This improves performance by itself. More performance can be gained by running the update out of sync on different domains to decrease the GPU idle time.


Checklist

  • Detect and store update groups for constraints
  • Add support for atom groups in the nbnxn grid and search
  • Add support for atom groups in the domain decomposition (reuse the charge-group code paths)
  • Add virtual site support to update groups

History

#1 Updated by Mark Abraham 9 months ago

  • Status changed from In Progress to Resolved

There were many refactoring and functionality commits here, the feature is now live.

#2 Updated by Mark Abraham 9 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF