|
TDLS 0.4.0
Tiny Device-callable Linear Solvers
|
Block k of a recomputed solve (solve_inplace_recomputed, solve_inplace_recomputed_or_tangent): a StreamedBlock, the same view and accessors, and whether the solver asks for the block again, in its recovery. A provider taking a StreamedBlock& serves too; one taking a RecomputedBlock&, or auto&, reads the flag. The streamed entry points keep the StreamedBlock alone, so that their code is that of a solver without the recomputed ones. More...
#include <solver_dynamic.hpp>
Public Attributes | |
| bool | recovery = false |
Public Attributes inherited from tdls::ArrowheadLUppSolverDynamic< T, Config >::StreamedBlock | |
| T * | Dl |
| D_k in the layout of the factorization. | |
| T * | W |
| [A_kb | y_k], column c at c * S | |
| T * | Abk |
| A_bk: coupled rows (diagonal) or B x S (dense) | |
| int | S |
| block size | |
| int | B |
| border size | |
| int | stride |
Additional Inherited Members | |
Public Member Functions inherited from tdls::ArrowheadLUppSolverDynamic< T, Config >::StreamedBlock | |
| TDLS_HOST_DEVICE TDLS_FORCE_INLINE_ALL constexpr T & | d (const int i, const int j) const noexcept |
| TDLS_HOST_DEVICE TDLS_FORCE_INLINE_ALL constexpr T & | akb (const int i, const int c) const noexcept |
| TDLS_HOST_DEVICE TDLS_FORCE_INLINE_ALL constexpr T & | y (const int i) const noexcept |
| TDLS_HOST_DEVICE TDLS_FORCE_INLINE_ALL constexpr T & | coupling (const int i) const noexcept |
| TDLS_HOST_DEVICE TDLS_FORCE_INLINE_ALL constexpr T & | abk (const int r, const int i) const noexcept |
Block k of a recomputed solve (solve_inplace_recomputed, solve_inplace_recomputed_or_tangent): a StreamedBlock, the same view and accessors, and whether the solver asks for the block again, in its recovery. A provider taking a StreamedBlock& serves too; one taking a RecomputedBlock&, or auto&, reads the flag. The streamed entry points keep the StreamedBlock alone, so that their code is that of a solver without the recomputed ones.
| bool tdls::ArrowheadLUppSolverDynamic< T, Config >::RecomputedBlock::recovery = false |
Set when the solver asks for the block again, in its recovery: the provider may then skip what it accumulates once per pass, a residual for instance. False while it condenses the block.