Project

General

Profile

Integration planning for GROMACS 2020 GPU features » History » Version 3

Mark Abraham, 09/02/2019 02:26 PM

1 1 Mark Abraham
h1. Integration planning for GROMACS 2020 GPU features
2 1 Mark Abraham
3 1 Mark Abraham
We have a set of target functionality to integrate by 9/16. (TODO record that)
4 1 Mark Abraham
5 1 Mark Abraham
Due 8/30
6 1 Mark Abraham
7 1 Mark Abraham
* GPU halo-exchange for positions. Coding assigned to Alan. Review assigned to Mark and Berk.
8 1 Mark Abraham
  Status - code in gerrit, need input on class+file+method naming
9 1 Mark Abraham
10 1 Mark Abraham
Due 9/2
11 1 Mark Abraham
12 1 Mark Abraham
* pp-pme exchange class. Coding assigned to Alan. Review assigned to Mark, Berk.
13 1 Mark Abraham
  Status - awaiting Alan's update to existing https://gerrit.gromacs.org/c/gromacs/+/12783 following review last week
14 1 Mark Abraham
* simulation flags structs. Coding assigned to Szilard. Review assigned to Mark, Berk, Paul, Erik.
15 1 Mark Abraham
  Status - WIP at https://gerrit.gromacs.org/c/gromacs/+/11622, would benefit from FTF discussion on how to describe lifetime and intent for this initial patch, whose form is understood to be unlike what we want in the long term
16 3 Mark Abraham
* Make GPU version of StatePropagatorData. Coding assigned to Artem. Review assigned to Erik, Mark.
17 2 Mark Abraham
  Status - awaiting patch from Artem. Naming decision recorded at https://gerrit.gromacs.org/c/gromacs/+/11986
18 1 Mark Abraham
* Question: Does multi-domain GPU-halo-exchange force handling support adding extra CPU forces? Alan had an answer on 8/30 but we didn't write it down
19 2 Mark Abraham
* tests covering .mdp nst* flags, in particular for well chosen co-prime cases to prevent unexpected behavior changes. Also can we test e.g. forces with FEP on non-output steps. Coding assigned to Mark. Review assigned to TODO.
20 1 Mark Abraham
  Status - start work Monday afternoon
21 1 Mark Abraham
22 1 Mark Abraham
Due 9/3
23 1 Mark Abraham
24 1 Mark Abraham
* LF pressure-coupling support for GPU-based update. Coding assigned to Artem. Review assigned to TODO.
25 3 Mark Abraham
  Status - P-R is plus2 on gerrit at https://gerrit.gromacs.org/c/gromacs/+/12477. Berendsen support easy to add in a future patch?
26 1 Mark Abraham
27 1 Mark Abraham
Due 9/5
28 1 Mark Abraham
29 1 Mark Abraham
* Clean up to make a PP-rank "PME force receiver". Coding assigned to Mark. Review assigned to Alan, Paul, Berk.
30 1 Mark Abraham
  Status: awaiting pp-pme exchange class stabilizing. Also review of clfft init change https://gerrit.gromacs.org/c/gromacs/+/12897.
31 1 Mark Abraham
* Class to contain code to receive PME-rank forces on PP-rank GPU buffers (avoiding CPU). Coding assigned to Alan. Review assigned to Szilard, Berk, Mark.
32 1 Mark Abraham
  Status: awaiting pp-pme exchange class stabilizing
33 1 Mark Abraham
34 1 Mark Abraham
Due 9/6
35 1 Mark Abraham
36 1 Mark Abraham
* Halo-exchange class for force+reduction. Coding assigned to Alan. Review assigned to Szilard, Mark, Berk.
37 1 Mark Abraham
  Status: need feedback on position exchange to guide the similar choices here, otherwise Alan will just be refactoring existing code
38 1 Mark Abraham
* Stitching together high-level single-GPU logic to achieve performance. Coding assigned to Artem. Review assigned to Erik, Mark.
39 3 Mark Abraham
  Status: Awaiting progress on GPU StatePropagatorData patch
40 3 Mark Abraham
* Lift cr->duty assignment out of init_domain_decomposition(). Coding assigned to Berk. Review assigned to Mark, Paul, Szilard.
41 1 Mark Abraham
42 1 Mark Abraham
Due 9/9
43 1 Mark Abraham
44 1 Mark Abraham
* refinement of simulation flag structs. Coding assigned to Szilard. Review assigned to Mark, Berk, Paul, Erik.
45 1 Mark Abraham
  Status: awaiting submission of earlier patch
46 1 Mark Abraham
47 1 Mark Abraham
Due 9/12 
48 1 Mark Abraham
49 1 Mark Abraham
* Stitching together high-level multi-GPU logic to achieve performance. Coding assigned to TODO. Will need input from many people
50 1 Mark Abraham
  Status: not started yet
51 1 Mark Abraham
52 1 Mark Abraham
Due 9/14
53 1 Mark Abraham
54 1 Mark Abraham
* mdrun user interface + choices of defaults. Coding assigned to Paul. Review assigned to Alan, Artem, Mark.
55 1 Mark Abraham
  Status: not started yet
56 1 Mark Abraham
57 1 Mark Abraham
Due last minute
58 1 Mark Abraham
59 1 Mark Abraham
* Link task assignment to simulation flags and high-level GPU logic. Coding assigned to TODO. Will need input from many people.
60 3 Mark Abraham
  Status: clfft init patch needing review https://gerrit.gromacs.org/c/gromacs/+/12897. That prepares for a patch to manage GPU streams at high level and pass handles into individual modules that need to collaborate on the ~5 streams we identified, namely nonlocal, local, pme work, pp-pme xfer, update). Waiting on Berk's patch to pull cr->duty assignment out of init_domain_decomposition(), so we can rearrange order of operations in runner so that GPU device info is available earlier, so that GPU streams can be set up before init_domain_decomposition() and init_forcerec()