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 
27  amrex::Vector<char> m_data_string_recvbuf;
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 
41 #ifdef AMREX_USE_GPU
42  const int m_nDataFields = 7;
43 #else
44  const int m_nDataFields = 6;
45 #endif
46 
50  int m_nBoxesMax = -1;
51 
56  LoadBalanceCosts(std::string rd_name);
57 
64  virtual void ComputeDiags(int step) override final;
65 
73  virtual void WriteToFile(int step) const override final;
74 
75 };
76 
77 #endif
int m_nBoxesMax
Definition: LoadBalanceCosts.H:50
Definition: ReducedDiags.H:23
Definition: LoadBalanceCosts.H:22
amrex::Vector< int > m_data_string_disp
Definition: LoadBalanceCosts.H:37
std::vector< std::string > m_data_string
Definition: LoadBalanceCosts.H:33
int m_data_string_recvbuf_length
Definition: LoadBalanceCosts.H:30
LoadBalanceCosts(std::string rd_name)
Definition: LoadBalanceCosts.cpp:37
amrex::Vector< char > m_data_string_recvbuf
Definition: LoadBalanceCosts.H:27
amrex::Vector< int > m_data_string_recvcount
Definition: LoadBalanceCosts.H:36
virtual void ComputeDiags(int step) override final
Definition: LoadBalanceCosts.cpp:43
const int m_nDataFields
Definition: LoadBalanceCosts.H:44
virtual void WriteToFile(int step) const override final
Definition: LoadBalanceCosts.cpp:211