Project

General

Profile

Feature #3114

Improve GPU update-constraints module

Added by Artem Zhmurov 5 months ago. Updated 15 days ago.

Status:
New
Priority:
Normal
Assignee:
Category:
-
Target version:
Difficulty:
simple
Close

Description

Improve performance, integration and code organization in GPU update-constraints module


Subtasks

Feature #3350: GPU update-constraints performanceNewArtem Zhmurov
Task #3337: GPU update-constraints: Merge Leap-Frog, LINCS and SETTLE kernels.NewArtem Zhmurov
Task #3338: GPU update-constraints: Do not save intermediate coordinates if there is no constraintsNewArtem Zhmurov
Task #3339: GPU LINCS: Warp-level synchronization for coupled constraintsNewArtem Zhmurov
Task #3340: GPU LINCS: Move more data to local/shared memoryNewArtem Zhmurov
Task #3341: GPU LINCS: Use analytical solution for the matrix A inversion.NewArtem Zhmurov
Task #3342: GPU SETTLE: Read only one index per water molecule.NewArtem Zhmurov
Task #3343: GPU SETTLE: Use different ordering for matrices.NewArtem Zhmurov
Task #3344: GPU update-constraints: Better virial reduction.NewArtem Zhmurov
Feature #3351: GPU update-constraints code organization and integrationNewArtem Zhmurov
Task #3345: GPU update-constraints: Reconsider the naming of coordinates buffer in constraints.NewArtem Zhmurov
Task #3346: GPU SETTLE: Use the same parameters and parameters initialization in GPU and CPU versions of SETTLE. NewArtem Zhmurov
Task #3347: GPU update-constraints: Reconsider namingClosedArtem Zhmurov
Task #3348: GPU LINCS and SETTLE: unify virial reductionNewArtem Zhmurov
Task #3349: GPU update-constraints: Unify the PBC management.ClosedArtem Zhmurov
Feature #3352: GPU update-constraints feature supportNewArtem Zhmurov
Task #3162: Add virtual site support to GPU version of update-constraints.NewArtem Zhmurov
Task #3236: GPU update-constraints: Pulling supportNewArtem Zhmurov
Task #3258: GPU update-constraints: Enable free energy perturbationNewArtem Zhmurov
Task #3308: GPU update-constraints: Cycle counting for GPU launchesNew
Task #3358: avoid calling GPU update setup is every search stepClosedSzilárd Páll

Associated revisions

Revision 79aab161 (diff)
Added by Artem Zhmurov 5 months ago

Eliminate D2D copy in update constraints

The intermediate coordinates (x' or xp) are only needed inside
the update-constraints module (for the constraints algorithms)
and never used outside. Hence, the xp variable can be used to
save the coordinates before update, while x stores the final
coordinates. This way, there is no need to make a D2D xp->x
copy after applying the constraints, since x will have the
correct data.

Refs. #2888, #3114.

Change-Id: I363b633976a236a8e2bf2137c21d3bf0a765cb06

Revision 37c734f1 (diff)
Added by Artem Zhmurov 28 days ago

Rename UpdateConstraintsCuda to UpdateConstraintsGpu

This is to folow general naming conventions across the code.

Refs #3114.

Change-Id: Iec3678e1d4152d6442818fcd81020e021927757c

History

#1 Updated by Szilárd Páll 5 months ago

Suggest splitting things: code quality improvements and performance improvements (unless the former results in the latter) would be best gathered separately. The latter should be a list with an order/prio markings because we want to know what are the low-hanging fruit optimizations that could have impact and may be doable before RC.

#2 Updated by Artem Zhmurov 5 months ago

  • Description updated (diff)

#3 Updated by Artem Zhmurov 5 months ago

  • Description updated (diff)

#4 Updated by Szilárd Páll 3 months ago

Overlapping H2D of CPU force contributions with GPU force compute seems related, but perhaps doesn't directly belong here, so I'll file a separate redmine.

#5 Updated by Szilárd Páll 3 months ago

Szilárd Páll wrote:

Overlapping H2D of CPU force contributions with GPU force compute seems related, but perhaps doesn't directly belong here, so I'll file a separate redmine.

Actually, it is rather related to the F buffer ops.

#6 Updated by Artem Zhmurov 3 months ago

  • Description updated (diff)

#7 Updated by Artem Zhmurov about 1 month ago

  • Subject changed from Possible improvements to update-constraints to Improve GPU update-constraints module
  • Target version set to 2021
  • Parent task deleted (#2888)

#8 Updated by Artem Zhmurov about 1 month ago

  • Description updated (diff)

#9 Updated by Artem Zhmurov about 1 month ago

  • Tracker changed from Task to Feature

Also available in: Atom PDF