|
core 1.5.0
Shared MPI block decomposition, asynchronous ghost-layer exchange, SDF geometry, load balancing (header-only C++20)
|
#include <graph_amg_device.hpp>
Classes | |
| struct | DLevel |
Public Types | |
| using | DView = View< double > |
| using | IView = View< Index > |
Public Member Functions | |
| void | build (const HostCsrOp &A, const AmgParams &prm={}) |
| Host setup + one-time device mirror. Rebuild whenever the operator changes. | |
| void | apply (const DView &r, const DView &z) const |
| z = M⁻¹ r: one V-cycle (correction scheme) from a zero initial guess. Device views, size n. | |
| int | numLevels () const |
| Index | size (int L=0) const |
| const GraphAMG & | hostHierarchy () const |
| void | mirror () |
| void | vcycle (int L) const |
| void | smooth (const DLevel &lv, int sweeps) const |
| void | jacobiSweep (const DLevel &lv) const |
| void | chebSweep (const DLevel &lv) const |
| void | coarseSolve (const DLevel &lv) const |
Static Public Member Functions | |
| template<class T > | |
| static View< T > | toDev (const std::vector< T > &v, const char *name) |
| static void | spmv (const DLevel &lv, const DView &x, const DView &y) |
| static double | dot (const DView &a, const DView &b, Index n) |
Definition at line 29 of file graph_amg_device.hpp.
Definition at line 31 of file graph_amg_device.hpp.
Definition at line 32 of file graph_amg_device.hpp.
|
inline |
Host setup + one-time device mirror. Rebuild whenever the operator changes.
Definition at line 35 of file graph_amg_device.hpp.
z = M⁻¹ r: one V-cycle (correction scheme) from a zero initial guess. Device views, size n.
Definition at line 42 of file graph_amg_device.hpp.
References vcycle().
|
inline |
Definition at line 50 of file graph_amg_device.hpp.
|
inline |
Definition at line 51 of file graph_amg_device.hpp.
Definition at line 52 of file graph_amg_device.hpp.
|
inlinestatic |
Definition at line 68 of file graph_amg_device.hpp.
Referenced by mirror().
|
inline |
Definition at line 77 of file graph_amg_device.hpp.
References peclet::core::solver::GraphAMG::levels(), peclet::core::solver::GraphAMGDevice::DLevel::n, and toDev().
|
inlinestatic |
Definition at line 130 of file graph_amg_device.hpp.
Referenced by chebSweep(), coarseSolve(), jacobiSweep(), and vcycle().
Definition at line 143 of file graph_amg_device.hpp.
References coarseSolve(), peclet::core::solver::AmgParams::post, peclet::core::solver::AmgParams::pre, smooth(), spmv(), and vcycle().
Definition at line 187 of file graph_amg_device.hpp.
References peclet::core::solver::AmgParams::chebDegree, chebSweep(), and jacobiSweep().
Referenced by coarseSolve(), and vcycle().
Definition at line 197 of file graph_amg_device.hpp.
References peclet::core::solver::AmgParams::jacobiOmega, and spmv().
Referenced by smooth().
Definition at line 206 of file graph_amg_device.hpp.
References peclet::core::solver::AmgParams::chebDegree, and spmv().
Referenced by smooth().
|
inlinestatic |
Definition at line 233 of file graph_amg_device.hpp.
Referenced by coarseSolve().
Definition at line 243 of file graph_amg_device.hpp.
References peclet::core::solver::AmgParams::coarseSweeps, dot(), smooth(), and spmv().
Referenced by vcycle().