Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W waLBerla
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 49
    • Issues 49
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 14
    • Merge requests 14
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • waLBerla
  • waLBerla
  • Merge requests
  • !68
The source project of this merge request has been removed.

Streamed GPUPackInfo

Merged João Victor Tozatti Risso requested to merge (removed):gpupackinfo_stream into master Dec 05, 2017
  • Overview 1
  • Pipelines 0
  • Changes 8

Refactored version of the StreamedGPUPackInfo which does not modify how the MPI buffers are allocated (i.e. does not uses allocators as in !46 (closed) . Using this approach maintains compatibility with MSVC compilers -- contrary to using allocators in the MPI buffers, and therefore is preferred to !46 (closed) .

Proposed changes:

  • CUDA streams: Add support for asynchronous (un)packing operations using CUDA streams in cuda::communication::GPUPackInfo. Through asynchronous operations it is possible to overlap GPU computation and MPI communication in simulations (e.g. LBM simulations). Asynchronous copies in CUDA require pinned memory on the host, and for that purpose a staging buffer is introduced (i.e. cuda::communication::PinnedMemoryBuffer) in the cuda module, which is used to stage data between the GPU and the MPI buffers.
  • zyxf layout: Add zyxf field layout support in GPUPackInfo through extensions of the functions in cuda::GPUCopy.
  • Extended GPUPackInfo test: Add stream and zyxf layout tests to the GPUPackInfoTest to test the proposed implementation.
  • Extended Kernel: add CUDA stream and shared memory configuration support in cuda::Kernel class

Closes #27 (closed), and also closes !46 (closed)

Edited Dec 05, 2017 by João Victor Tozatti Risso
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: gpupackinfo_stream