|
core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
|
Device-resident distributed plain-Laplacian Poisson operator: y = ∇²x with cross-block neighbours from the device gather halo. More...
#include <distributed_view.hpp>
Public Member Functions | |
| void | init (DistributedOctree< Dim, Bits > &d, double h0) |
| Index | numLeaves () const |
| MPI_Comm | comm () const |
| void | apply (View< const double > x, View< double > y) const |
| y = L x (L = ∇², periodic). | |
| void | jacobi (View< double > x, View< const double > b, int sweeps, double omega=0.8) const |
sweeps damped-Jacobi relaxations of L u = b (in place). Reads only the previous iterate. | |
| double | residual (View< const double > x, View< const double > b, View< double > res) const |
| res = b − L x (device); returns the global L2 norm (the only host scalar). | |
| double | residualNorm (View< const double > x, View< const double > b) const |
Device-resident distributed plain-Laplacian Poisson operator: y = ∇²x with cross-block neighbours from the device gather halo.
apply / jacobi / residual run as Kokkos kernels over the device field.
Definition at line 150 of file distributed_view.hpp.
|
inline |
Definition at line 152 of file distributed_view.hpp.
References peclet::core::amr::DistributedOctree< Dim, Bits >::buildFaceGatherPlan(), peclet::core::amr::DistributedOctree< Dim, Bits >::buildGatherHaloTopology(), peclet::core::amr::DistributedOctree< Dim, Bits >::local(), and peclet::core::amr::BlockOctree< Dim, Bits >::numLeaves().
|
inline |
Definition at line 164 of file distributed_view.hpp.
|
inline |
Definition at line 165 of file distributed_view.hpp.
References peclet::core::amr::DistributedOctree< Dim, Bits >::comm().
|
inline |
y = L x (L = ∇², periodic).
Definition at line 168 of file distributed_view.hpp.
Referenced by peclet::core::amr::DistributedPoissonView< Dim, Bits >::jacobi(), peclet::core::amr::DistributedPoissonView< Dim, Bits >::residual(), and peclet::core::amr::DistributedPoissonView< Dim, Bits >::residualNorm().
|
inline |
sweeps damped-Jacobi relaxations of L u = b (in place). Reads only the previous iterate.
Definition at line 183 of file distributed_view.hpp.
References peclet::core::amr::DistributedPoissonView< Dim, Bits >::apply().
|
inline |
res = b − L x (device); returns the global L2 norm (the only host scalar).
Definition at line 196 of file distributed_view.hpp.
References peclet::core::amr::DistributedPoissonView< Dim, Bits >::apply(), peclet::core::amr::DistributedOctree< Dim, Bits >::comm(), MPI_Allreduce(), MPI_DOUBLE, and MPI_SUM.
|
inline |
Definition at line 213 of file distributed_view.hpp.
References peclet::core::amr::DistributedPoissonView< Dim, Bits >::apply(), peclet::core::amr::DistributedOctree< Dim, Bits >::comm(), MPI_Allreduce(), MPI_DOUBLE, and MPI_SUM.