WarpX
LoadBalanceCosts.H
Go to the documentation of this file.
1 /* Copyright 2019-2020 Michael Rowan, Yinjian Zhao
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 
8 #ifndef WARPX_DIAGNOSTICS_REDUCEDDIAGS_LOADBALANCECOSTS_H_
9 #define WARPX_DIAGNOSTICS_REDUCEDDIAGS_LOADBALANCECOSTS_H_
10 
11 #include "ReducedDiags.H"
12 
13 #include <AMReX_Vector.H>
14 
15 #include <string>
16 #include <vector>
17 
23 {
24 public:
25 
28 
31 
33  std::vector<std::string> m_data_string;
34 
36  amrex::Vector<int> m_data_string_recvcount; // array of size N_procs, how many message root recv from sender
37  amrex::Vector<int> m_data_string_disp; // array of size N_procs, where to place data in IOProc
38 
42 #ifdef AMREX_USE_GPU
43  const int m_nDataFields = 9;
44 #else
45  const int m_nDataFields = 8;
46 #endif
47 
51  int m_nBoxesMax = -1;
52 
57  LoadBalanceCosts(const std::string& rd_name);
58 
65  void ComputeDiags(int step) final;
66 
74  void WriteToFile(int step) const final;
75 
76 };
77 
78 #endif
Definition: LoadBalanceCosts.H:23
void ComputeDiags(int step) final
Definition: LoadBalanceCosts.cpp:76
void WriteToFile(int step) const final
Definition: LoadBalanceCosts.cpp:247
std::vector< std::string > m_data_string
Definition: LoadBalanceCosts.H:33
int m_data_string_recvbuf_length
Definition: LoadBalanceCosts.H:30
int m_nBoxesMax
Definition: LoadBalanceCosts.H:51
const int m_nDataFields
Definition: LoadBalanceCosts.H:45
amrex::Vector< int > m_data_string_disp
Definition: LoadBalanceCosts.H:37
amrex::Vector< char > m_data_string_recvbuf
Definition: LoadBalanceCosts.H:27
LoadBalanceCosts(const std::string &rd_name)
Definition: LoadBalanceCosts.cpp:70
amrex::Vector< int > m_data_string_recvcount
Definition: LoadBalanceCosts.H:36
Definition: ReducedDiags.H:24