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 "WarpX.H"
12 #include "ReducedDiags.H"
13 #include "LoadBalanceCosts.H"
14 
15 
21 {
22 public:
23 
25  amrex::Vector<char> m_data_string_recvbuf;
26 
29 
31  std::vector<std::string> m_data_string;
32 
34  amrex::Vector<int> m_data_string_recvcount; // array of size N_procs, how many message root recv from sender
35  amrex::Vector<int> m_data_string_disp; // array of size N_procs, where to place data in IOProc
36 
39 #ifdef AMREX_USE_GPU
40  const int m_nDataFields = 7;
41 #else
42  const int m_nDataFields = 6;
43 #endif
44 
48  int m_nBoxesMax = -1;
49 
52  LoadBalanceCosts(std::string rd_name);
53 
56  virtual void ComputeDiags(int step) override final;
57 
62  virtual void WriteToFile(int step) const override final;
63 
64 };
65 
66 #endif
int m_nBoxesMax
Definition: LoadBalanceCosts.H:48
Definition: ReducedDiags.H:24
Definition: LoadBalanceCosts.H:20
amrex::Vector< int > m_data_string_disp
Definition: LoadBalanceCosts.H:35
std::vector< std::string > m_data_string
Definition: LoadBalanceCosts.H:31
int m_data_string_recvbuf_length
Definition: LoadBalanceCosts.H:28
LoadBalanceCosts(std::string rd_name)
Definition: LoadBalanceCosts.cpp:16
amrex::Vector< char > m_data_string_recvbuf
Definition: LoadBalanceCosts.H:25
amrex::Vector< int > m_data_string_recvcount
Definition: LoadBalanceCosts.H:34
virtual void ComputeDiags(int step) override final
Definition: LoadBalanceCosts.cpp:23
const int m_nDataFields
Definition: LoadBalanceCosts.H:42
virtual void WriteToFile(int step) const override final
Definition: LoadBalanceCosts.cpp:183