Project

General

Profile

Feature #3114

Improve GPU update-constraints module

Added by Artem Zhmurov 12 months ago. Updated 8 months 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 12 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 8 months 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 12 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 12 months ago

  • Description updated (diff)

#3 Updated by Artem Zhmurov 12 months ago

  • Description updated (diff)

#4 Updated by Szilárd Páll 11 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 11 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 10 months ago

  • Description updated (diff)

#7 Updated by Artem Zhmurov 8 months 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 8 months ago

  • Description updated (diff)

#9 Updated by Artem Zhmurov 8 months ago

  • Tracker changed from Task to Feature

Also available in: Atom PDF