TDLS 0.4.0
Tiny Device-callable Linear Solvers
Loading...
Searching...
No Matches
config.hpp
Go to the documentation of this file.
1#ifndef TDLS_SOLVERS_TILED_LUPP_CONFIG_HPP
2#define TDLS_SOLVERS_TILED_LUPP_CONFIG_HPP
3
4
5
30
31
32
33#include <limits>
34#include <type_traits>
35
36#include <tdls/core/macros.hpp>
39
40
41
42namespace tdls {
43
44
45
49template<typename T>
51
63 int tile_size = 4;
64
66 Schedule schedule = Schedule::RightLooking;
67
99 RowInterchange row_interchange = RowInterchange::Logical;
100
111 StructuralReal<T> oot_pivot_threshold = std::is_same_v<T, float> ? T(1e-4f) : T(1e-10);
112
122
140
154 StructuralReal<T> singular_floor = std::numeric_limits<T>::min();
155
174 bool unroll_loops = true;
175
194 MatrixLayout layout = MatrixLayout::RowMajor;
195};
196
197
198
199} // namespace tdls
200
201
202
203#endif // TDLS_SOLVERS_TILED_LUPP_CONFIG_HPP
Toolchain detection and portability macros.
Shared vocabulary and conventions of the solver families.
RowInterchange
Row interchanges of a factorization with partial pivoting.
Definition options.hpp:59
Schedule
Elimination schedule of a factorization.
Definition options.hpp:51
MatrixLayout
Memory layout of a dense matrix.
Definition options.hpp:213
Floating-point value stored as an odd integer mantissa and a power-of-two exponent,...
Definition structural_real.hpp:68
Compile-time knobs of the TiledLUpp solvers, carrying the tuned defaults.
Definition config.hpp:50
StructuralReal< T > relative_pivot_threshold
Definition config.hpp:139
Schedule schedule
Elimination schedule of the tiled factorization, see Schedule.
Definition config.hpp:66
bool oot_first_acceptable
Definition config.hpp:121
MatrixLayout layout
Definition config.hpp:194
RowInterchange row_interchange
Definition config.hpp:99
StructuralReal< T > singular_floor
Definition config.hpp:154
int tile_size
Definition config.hpp:63
StructuralReal< T > oot_pivot_threshold
Definition config.hpp:111
bool unroll_loops
Definition config.hpp:174
Exact floating-point value admissible as a template argument.