|
core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
|
Device-resident distributed geometric multigrid for the plain Laplacian (the device analogue of the host DistributedMultigrid). More...
#include <distributed_view.hpp>
Public Types | |
| using | Octree = DistributedOctree< Dim, Bits > |
Public Member Functions | |
| void | build (const IVec< Dim > &g0, const AmrGeometry< Dim > &geo, const std::array< bool, Dim > &periodic, MPI_Comm comm) |
| std::size_t | numLevels () const |
| Index | numLeaves (std::size_t L=0) const |
| DistributedPoissonView< Dim, Bits > & | op (std::size_t L=0) |
| Octree & | octree (std::size_t L=0) |
| View< double > | x (std::size_t L=0) |
| View< double > | b (std::size_t L=0) |
| void | vcycle (View< double > x, View< const double > b, int pre=2, int post=2, int bottom=30, std::size_t L=0) |
| One V-cycle of A x = b on level L (correction scheme); entirely device-resident bar the compact gather buffers + the residual-norm Allreduce. | |
Device-resident distributed geometric multigrid for the plain Laplacian (the device analogue of the host DistributedMultigrid).
Hierarchy + nesting maps mirror the host build; smoother is the device distributed Jacobi; restriction (child-CSR gather) and prolongation (piecewise-constant) are the local, bit-exact device kernels from multigrid.hpp.
Definition at line 242 of file distributed_view.hpp.
| using peclet::core::amr::DistributedMultigridView< Dim, Bits >::Octree = DistributedOctree<Dim, Bits> |
Definition at line 244 of file distributed_view.hpp.
|
inline |
Definition at line 246 of file distributed_view.hpp.
References MPI_Comm_size(), and peclet::core::toDevice().
|
inline |
Definition at line 314 of file distributed_view.hpp.
|
inline |
Definition at line 315 of file distributed_view.hpp.
|
inline |
Definition at line 316 of file distributed_view.hpp.
|
inline |
Definition at line 317 of file distributed_view.hpp.
|
inline |
Definition at line 318 of file distributed_view.hpp.
Referenced by peclet::core::amr::DistributedMultigridView< Dim, Bits >::vcycle().
|
inline |
Definition at line 319 of file distributed_view.hpp.
Referenced by peclet::core::amr::DistributedMultigridView< Dim, Bits >::vcycle().
|
inline |
One V-cycle of A x = b on level L (correction scheme); entirely device-resident bar the compact gather buffers + the residual-norm Allreduce.
Definition at line 323 of file distributed_view.hpp.
References peclet::core::amr::DistributedMultigridView< Dim, Bits >::b(), peclet::core::amr::prolongAdd(), peclet::core::amr::restrictField(), peclet::core::amr::DistributedMultigridView< Dim, Bits >::vcycle(), and peclet::core::amr::DistributedMultigridView< Dim, Bits >::x().
Referenced by peclet::core::amr::DistributedMultigridView< Dim, Bits >::vcycle().