Bridge++  Ver. 2.0.2
fprop_alt_Standard_lex_Mixedprec.h
Go to the documentation of this file.
1 
10 #ifndef FPROP_ALT_STANDARD_LEX_MIXEDPREC_INCLUDED
11 #define FPROP_ALT_STANDARD_LEX_MIXEDPREC_INCLUDED
12 
14 
15 #include "lib/Fopr/afopr.h"
16 #include "lib/Fopr/afopr_Smeared.h"
17 #include "lib/Tools/timer.h"
19 
20 #include "lib_alt/Solver/asolver.h"
22 
24 
30 template<typename AFIELD_d, typename AFIELD_f>
32 {
33  public:
34  static const std::string class_name;
35  typedef typename AFIELD_d::real_t real_t;
38 
39  private:
47 
49 
51  double m_flop_count;
53 
54  public:
56  const Parameters& params_solver)
57  : Fprop_alt<AFIELD_d>()
58  { init(params_fopr, params_solver); }
59 
61  const Parameters& params_solver,
62  Director_Smear *dr_smear)
63  : Fprop_alt<AFIELD_d>()
64  { init(params_fopr, params_solver, dr_smear); }
65 
67  { tidyup(); }
68 
69  void set_config(Field *);
70 
71  void invert(Field&, const Field&, int&, double&);
72 
73  void invert_D(Field&, const Field&, int&, double&);
74 
75  void invert_DdagD(Field&, const Field&, int&, double&);
76 
77  void invert(AFIELD_d&, const AFIELD_d&, int&, double&);
78 
79  void invert_D(AFIELD_d&, const AFIELD_d&, int&, double&);
80 
81  void invert_DdagD(AFIELD_d&, const AFIELD_d&, int&, double&);
82 
83  double flop_count();
84 
85  void reset_performance();
86 
87  void report_performance();
88 
89  void mult_performance(const std::string mode, const int Nrepeat);
90 
91  private:
92 
93  void init(const Parameters& params_fopr,
94  const Parameters& params_solver);
95 
96  void init(const Parameters& params_fopr,
97  const Parameters& params_solver,
98  Director_Smear *dr_smrar);
99 
100  void tidyup();
101 };
102 #endif
director_Smear.h
Fprop_alt_Standard_lex_Mixedprec::m_fopr_d
AFopr< AFIELD_d > * m_fopr_d
Definition: fprop_alt_Standard_lex_Mixedprec.h:42
AFopr
Definition: afopr.h:48
ASolver
Definition: asolver.h:23
Fprop_alt_Standard_lex_Mixedprec::m_dr_smear
Director_Smear * m_dr_smear
Definition: fprop_alt_Standard_lex_Mixedprec.h:48
Fprop_alt_Standard_lex_Mixedprec::m_kernel_d
AFopr< AFIELD_d > * m_kernel_d
Definition: fprop_alt_Standard_lex_Mixedprec.h:40
Fprop_alt_Standard_lex_Mixedprec::class_name
static const std::string class_name
Definition: fprop_alt_Standard_lex_Mixedprec.h:34
Parameters
Class for parameters.
Definition: parameters.h:46
Fprop_alt_Standard_lex_Mixedprec::m_fopr_f
AFopr< AFIELD_f > * m_fopr_f
Definition: fprop_alt_Standard_lex_Mixedprec.h:43
AField< double, QXS >
Fprop_alt_Standard_lex_Mixedprec::invert_D
void invert_D(Field &, const Field &, int &, double &)
Definition: fprop_alt_Standard_lex_Mixedprec-tmpl.h:148
APrecond
Definition: aprecond.h:28
Fprop_alt_Standard_lex_Mixedprec::tidyup
void tidyup()
Definition: fprop_alt_Standard_lex_Mixedprec-tmpl.h:105
Fprop_alt_Standard_lex_Mixedprec::m_flop_count
double m_flop_count
Definition: fprop_alt_Standard_lex_Mixedprec.h:51
Fprop_alt_Standard_lex_Mixedprec::m_solver_prec
ASolver< AFIELD_f > * m_solver_prec
Definition: fprop_alt_Standard_lex_Mixedprec.h:44
fprop_alt.h
real_t
double real_t
Definition: bridgeQXS_Clover_coarse_double.cpp:16
Fprop_alt_Standard_lex_Mixedprec::m_timer
Timer m_timer
Definition: fprop_alt_Standard_lex_Mixedprec.h:50
Timer
Definition: timer.h:31
afopr_Smeared.h
Fprop_alt_Standard_lex_Mixedprec::m_elapsed_time
double m_elapsed_time
Definition: fprop_alt_Standard_lex_Mixedprec.h:52
Fprop_alt_Standard_lex_Mixedprec::Fprop_alt_Standard_lex_Mixedprec
Fprop_alt_Standard_lex_Mixedprec(const Parameters &params_fopr, const Parameters &params_solver)
Definition: fprop_alt_Standard_lex_Mixedprec.h:55
Fprop_alt_Standard_lex_Mixedprec::~Fprop_alt_Standard_lex_Mixedprec
~Fprop_alt_Standard_lex_Mixedprec()
Definition: fprop_alt_Standard_lex_Mixedprec.h:66
Fprop_alt
Get quark propagator for Fopr with lexical site index: alternative version.
Definition: fprop_alt.h:29
timer.h
Fprop_alt_Standard_lex_Mixedprec::init
void init(const Parameters &params_fopr, const Parameters &params_solver)
Definition: fprop_alt_Standard_lex_Mixedprec-tmpl.h:21
Fprop_alt_Standard_lex_Mixedprec::m_precond
APrecond< AFIELD_d > * m_precond
Definition: fprop_alt_Standard_lex_Mixedprec.h:45
Fprop_alt_Standard_lex_Mixedprec::report_performance
void report_performance()
Definition: fprop_alt_Standard_lex_Mixedprec-tmpl.h:349
Fprop_alt_Standard_lex_Mixedprec::m_kernel_f
AFopr< AFIELD_f > * m_kernel_f
Definition: fprop_alt_Standard_lex_Mixedprec.h:41
Director_Smear
Manager of smeared configurations.
Definition: director_Smear.h:39
Fprop_alt_Standard_lex_Mixedprec::invert_DdagD
void invert_DdagD(Field &, const Field &, int &, double &)
Definition: fprop_alt_Standard_lex_Mixedprec-tmpl.h:198
Fprop_alt_Standard_lex_Mixedprec::invert
void invert(Field &, const Field &, int &, double &)
invert accordingly to the mode. [22 Sep 2018 H.Matsufuru]
Definition: fprop_alt_Standard_lex_Mixedprec-tmpl.h:128
Fprop_alt_Standard_lex_Mixedprec::flop_count
double flop_count()
Definition: fprop_alt_Standard_lex_Mixedprec-tmpl.h:332
Fprop_alt_Standard_lex_Mixedprec::reset_performance
void reset_performance()
Definition: fprop_alt_Standard_lex_Mixedprec-tmpl.h:340
aprecond.h
Fprop_alt_Standard_lex_Mixedprec::Fprop_alt_Standard_lex_Mixedprec
Fprop_alt_Standard_lex_Mixedprec(const Parameters &params_fopr, const Parameters &params_solver, Director_Smear *dr_smear)
Definition: fprop_alt_Standard_lex_Mixedprec.h:60
Fprop_alt_Standard_lex_Mixedprec::m_solver
ASolver< AFIELD_d > * m_solver
Definition: fprop_alt_Standard_lex_Mixedprec.h:46
Fprop_alt_Standard_lex_Mixedprec::real_t
AFIELD_d::real_t real_t
Definition: fprop_alt_Standard_lex_Mixedprec.h:35
Field
Container of Field-type object.
Definition: field.h:46
afopr.h
asolver.h
Fprop_alt_Standard_lex_Mixedprec
Get quark propagator for Fopr with lexical site index: alternative version.
Definition: fprop_alt_Standard_lex_Mixedprec.h:31
Fprop_alt_Standard_lex_Mixedprec::mult_performance
void mult_performance(const std::string mode, const int Nrepeat)
Definition: fprop_alt_Standard_lex_Mixedprec-tmpl.h:364
Fprop_alt_Standard_lex_Mixedprec::set_config
void set_config(Field *)
Definition: fprop_alt_Standard_lex_Mixedprec-tmpl.h:119