planc
Parallel Lowrank Approximation with Non-negativity Constraints
distntftime.hpp
Go to the documentation of this file.
1 /* Copyright 2016 Ramakrishnan Kannan */
2 
3 #ifndef DISTNTF_DISTNTFTIME_HPP_
4 #define DISTNTF_DISTNTFTIME_HPP_
5 
6 namespace planc {
7 class DistNTFTime {
8  private:
9  double m_duration;
10  double m_compute_duration;
11  double m_communication_duration;
12  double m_allgather_duration;
13  double m_allreduce_duration;
14  double m_reducescatter_duration;
15  double m_gram_duration;
16  double m_krp_duration;
17  double m_mttkrp_duration;
18  double m_multittv_duration; // needed only for dimtrees
19  double m_nnls_duration;
20  double m_err_compute_duration;
21  double m_err_communication_duration;
22  double m_trans_duration;
23 
24  public:
25  DistNTFTime(double d, double compute_d, double communication_d,
26  double err_comp, double err_comm)
27  : m_duration(d),
28  m_compute_duration(compute_d),
29  m_communication_duration(communication_d),
30  m_err_compute_duration(err_comp),
31  m_err_communication_duration(err_comm) {
32  m_allgather_duration = 0;
33  m_allreduce_duration = 0;
34  m_reducescatter_duration = 0;
35  m_gram_duration = 0;
36  m_krp_duration = 0;
37  m_mttkrp_duration = 0;
38  m_multittv_duration = 0; // needed only for dimtrees
39  m_nnls_duration = 0;
40  m_trans_duration = 0;
41  }
42  DistNTFTime(double d, double compute_d, double communication_d,
43  double trans_d, double allgather_d, double allreduce_d,
44  double reducescatter_d, double gram_d, double krp_d,
45  double mttkrp_d, double multittv_d, double nnls_d,
46  double err_comp, double err_comm)
47  : m_duration(d),
48  m_compute_duration(compute_d),
49  m_communication_duration(communication_d),
50  m_allgather_duration(allgather_d),
51  m_allreduce_duration(allreduce_d),
52  m_reducescatter_duration(reducescatter_d),
53  m_gram_duration(gram_d),
54  m_krp_duration(krp_d),
55  m_mttkrp_duration(mttkrp_d),
56  m_multittv_duration(multittv_d),
57  m_nnls_duration(nnls_d),
58  m_err_compute_duration(err_comp),
59  m_err_communication_duration(err_comm),
60  m_trans_duration(trans_d) {}
61  DistNTFTime(double d, double compute_d, double communication_d, double gram_d,
62  double krp_d, double mttkrp_d, double multittv_d, double nnls_d,
63  double err_comp, double err_comm)
64  : m_duration(d),
65  m_compute_duration(compute_d),
66  m_communication_duration(communication_d),
67  m_gram_duration(gram_d),
68  m_krp_duration(krp_d),
69  m_mttkrp_duration(mttkrp_d),
70  m_multittv_duration(multittv_d),
71  m_nnls_duration(nnls_d),
72  m_err_compute_duration(err_comp),
73  m_err_communication_duration(err_comm) {}
74 
75  const double duration() const { return m_duration; }
76  const double compute_duration() const { return m_compute_duration; }
77  const double communication_duration() const {
78  return m_communication_duration;
79  }
80  const double allgather_duration() const { return m_allgather_duration; }
81  const double allreduce_duration() const { return m_allreduce_duration; }
82  const double reducescatter_duration() const {
83  return m_reducescatter_duration;
84  }
85  const double gram_duration() const { return m_gram_duration; }
86  const double krp_duration() const { return m_krp_duration; }
87  const double mttkrp_duration() const { return m_mttkrp_duration; }
88  const double multittv_duration() const { return m_multittv_duration; }
89  const double nnls_duration() const { return m_nnls_duration; }
90  const double err_compute_duration() const { return m_err_compute_duration; }
91  const double err_communication_duration() const {
92  return m_err_communication_duration;
93  }
94  const double trans_duration() const { return m_trans_duration; }
95  void duration(double d) { m_duration += d; }
96  void compute_duration(double d) { m_compute_duration += d; }
97  void communication_duration(double d) { m_communication_duration += d; }
98  void allgather_duration(double d) { m_allgather_duration += d; }
99  void allreduce_duration(double d) { m_allreduce_duration += d; }
100  void reducescatter_duration(double d) { m_reducescatter_duration += d; }
101  void gram_duration(double d) { m_gram_duration += d; }
102  void krp_duration(double d) { m_krp_duration += d; }
103  void mttkrp_duration(double d) { m_mttkrp_duration += d; }
104  void multittv_duration(double d) { m_multittv_duration += d; }
105  void nnls_duration(double d) { m_nnls_duration += d; }
106  void trans_duration(double d) { m_trans_duration += d; }
107  void err_compute_duration(double d) { m_err_compute_duration += d; }
108  void err_communication_duration(double d) {
109  m_err_communication_duration += d;
110  }
111 };
112 } // namespace planc
113 
114 #endif // DISTNTF_DISTNTFTIME_HPP_
void allgather_duration(double d)
Definition: distntftime.hpp:98
void communication_duration(double d)
Definition: distntftime.hpp:97
const double err_communication_duration() const
Definition: distntftime.hpp:91
DistNTFTime(double d, double compute_d, double communication_d, double gram_d, double krp_d, double mttkrp_d, double multittv_d, double nnls_d, double err_comp, double err_comm)
Definition: distntftime.hpp:61
const double nnls_duration() const
Definition: distntftime.hpp:89
const double gram_duration() const
Definition: distntftime.hpp:85
const double duration() const
Definition: distntftime.hpp:75
void trans_duration(double d)
const double mttkrp_duration() const
Definition: distntftime.hpp:87
void multittv_duration(double d)
DistNTFTime(double d, double compute_d, double communication_d, double err_comp, double err_comm)
Definition: distntftime.hpp:25
const double allreduce_duration() const
Definition: distntftime.hpp:81
void mttkrp_duration(double d)
void reducescatter_duration(double d)
const double multittv_duration() const
Definition: distntftime.hpp:88
void gram_duration(double d)
const double reducescatter_duration() const
Definition: distntftime.hpp:82
const double compute_duration() const
Definition: distntftime.hpp:76
void compute_duration(double d)
Definition: distntftime.hpp:96
const double allgather_duration() const
Definition: distntftime.hpp:80
void krp_duration(double d)
const double krp_duration() const
Definition: distntftime.hpp:86
void err_communication_duration(double d)
const double trans_duration() const
Definition: distntftime.hpp:94
void allreduce_duration(double d)
Definition: distntftime.hpp:99
void nnls_duration(double d)
const double err_compute_duration() const
Definition: distntftime.hpp:90
DistNTFTime(double d, double compute_d, double communication_d, double trans_d, double allgather_d, double allreduce_d, double reducescatter_d, double gram_d, double krp_d, double mttkrp_d, double multittv_d, double nnls_d, double err_comp, double err_comm)
Definition: distntftime.hpp:42
ncp_factors contains the factors of the ncp every ith factor is of size n_i * k number of factors is ...
Definition: ncpfactors.hpp:20
void duration(double d)
Definition: distntftime.hpp:95
const double communication_duration() const
Definition: distntftime.hpp:77
void err_compute_duration(double d)