Skip to content

Memsync - #150

Open
Thinkpiet wants to merge 19 commits into
masterfrom
memsync-WIP
Open

Memsync#150
Thinkpiet wants to merge 19 commits into
masterfrom
memsync-WIP

Conversation

@Thinkpiet

Copy link
Copy Markdown
Member
  • Adds explicit memory synchronization (device to/from host) to CUDA version of SimpleMD, based on state machine (see MoleculeContainer::synchronizeMemory)
  • Adds various performance optimizations and improvements
  • SimpleMD GPU performance drastically improved!

(TODO) boundaryTreatment needs refactoring before this can be merged to master. See simplemd/MolecularDynamicsSimulation.cpp:534

  • putBoundaryParticlesToInnerCellsAndFillBoundaryCells: Separate into independent steps, do not call them if not required (no parallel boundary / no periodic boundary)
  • emptyGhostBoundaryCells: Merge separate kernels calls / 6 domain boundaries into one; do not call if not required (no parallel boundary / no periodic boundary)
  • Make sure that re-enabling _boundaryTreatment in MolecularDynamicsSimulation::simulateOneTimestep does not affect run time of ./benchmarks MD120 (it should not consume runtime as it does not perform any operations in a reflecting 1-rank scenario)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant