32#ifndef STRUCTURED_OPTIONS_HPP
33#define STRUCTURED_OPTIONS_HPP
38#include "dense/BLASLAPACKWrapper.hpp"
41 namespace structured {
43 template<
typename real_t>
inline real_t default_structured_rel_tol() {
46 template<
typename real_t>
inline real_t default_structured_abs_tol() {
49 template<>
inline float default_structured_rel_tol() {
52 template<>
inline float default_structured_abs_tol() {
93 default:
return "unknown";
107 using real_t =
typename RealType<scalar_t>::value_type;
115 void set_rel_tol(real_t rel_tol) {
119 void set_abs_tol(real_t abs_tol) {
123 void set_leaf_size(
int leaf_size) {
124 assert(leaf_size_ > 0);
125 leaf_size_ = leaf_size;
127 void set_pivot_threshold(real_t thresh) {
130 void set_max_rank(
int max_rank) {
131 assert(max_rank > 0);
132 max_rank_ = max_rank;
134 void set_type(
Type a) {
137 void set_verbose(
bool verbose) {
141 real_t rel_tol()
const {
return rel_tol_; }
142 real_t abs_tol()
const {
return abs_tol_; }
143 real_t pivot_threshold()
const {
return pivot_; }
144 int leaf_size()
const {
return leaf_size_; }
145 int max_rank()
const {
return max_rank_; }
146 Type type()
const {
return type_; }
147 bool verbose()
const {
return verbose_; }
148 bool use_gpu_aware_mpi()
const {
return use_gpu_aware_mpi_; }
149 virtual void set_from_command_line(
int argc,
const char*
const* cargv);
151 virtual void describe_options()
const;
155 real_t rel_tol_ = default_structured_rel_tol<real_t>();
156 real_t abs_tol_ = default_structured_abs_tol<real_t>();
158 int leaf_size_ = 128;
159 int max_rank_ = 5000;
160 bool verbose_ =
true;
161 bool use_gpu_aware_mpi_ = std::getenv(
"STRUMPACK_GPU_AWARE_MPI");
Class containing several options for the StructuredMatrix code and data-structures.
Definition StructuredOptions.hpp:106
Type
Definition StructuredOptions.hpp:61
Definition StrumpackOptions.hpp:44
std::string get_name(ReorderingStrategy method)