Skip to content

Schwarz Library v0.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@pratikvn pratikvn released this 20 Mar 13:49
· 47 commits to master since this release
8baee6a

The schwarz-lib is a library that showcases and enables experimentation with Schwarz methods. See a preprint of the paper with experiments on arXiv

Features


  1. Executor paradigm:
  • GPU.
  • OpenMP.
  • Single rank per node and threading in one node.
  1. Solving paradigm:
  • Direct:
  • Ginkgo.
  • CHOLMOD.
  • Iterative:
  • Ginkgo.
  • deal.ii.
  1. Partitioning paradigm:
  • METIS.
  • Regular, 1D.
  • Regular, 2D.
  • Zoltan.
  1. Convergence check:
  • Centralized, tree based convergence (Yamazaki 2019).
  • Decentralized, leader election based (Bahi 2005).
  1. Communication paradigm.
  • Onesided.
  • Twosided.
  • Event based.
  1. Communication strategies.
  • Remote comm strategies:
    • MPI_Put , gathered.
    • MPI_Put , one by one.
    • MPI_Get , gathered .
    • MPI_Get , one by one.
  • Lock strategies: MPI_Win_lock / MPI_Win_lock_all .
    • Lock all and unlock all.
    • Lock local and unlock local.
  • Flush strategies: MPI_Win_flush / MPI_Win_flush_local .
    • Flush all.
    • Flush local.
  1. Schwarz problem type.
  • RAS.
  • O-RAS.

Any of the implemented features can be permuted and tested.

Known Issues

  1. On Summit, the Spectrum MPI seems to have a bug with using MPI_Put with GPU buffers. MPI_Get works as expected. This bug has also been confirmed with an external micro-benchmarking library, OSU Micro-Benchmarks.