|
Mundy: Multibody Nonlocal Dynamics Version of the Day
|
Classes | |
| struct | mundy::KokkosBackend< ExecSpace > |
| Backend for Kokkos single process execution. More... | |
| struct | mundy::MundyMathBackend |
| Backend for Mundy math within a kernel. More... | |
Namespaces | |
| namespace | mundy |
Concepts | |
| concept | mundy::VectorBackend |
| Concept for a backend's vector-level operations: size, axpby, a plain inner product, and deep_copy. | |
| concept | mundy::LinearOperator |
| Concept for a linear operator's shape/apply contract under a given backend: domain_size, range_size, and apply(x, y). An operator may additionally provide apply(x, y, workspace) and/or a scaled-apply apply(alpha, x, beta, y) member, but neither is required by this concept – both degrade gracefully (see impl::make_workspace and HasScaledApplyMember below). | |
| concept | mundy::HasScaledApplyMember |
| Concept for an operator that provides its own fused scaled-apply: y := alpha * op(x) + beta * y. Backend::apply(alpha, op, x, beta, y) dispatches here when available, and falls back to a plain apply-then-axpby otherwise – so an operator need not implement this to be used with a scaled apply, but gets a faster fused path when it does (e.g. to skip recomputing an expensive per-element coefficient when alpha == 0). | |