WarpX
Loading...
Searching...
No Matches
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{
24public:
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 static const int m_nDataFields = 9;
44#else
45 static 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
void ComputeDiags(int step) final
Definition LoadBalanceCosts.cpp:78
void WriteToFile(int step) const final
Definition LoadBalanceCosts.cpp:251
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
static 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:72
amrex::Vector< int > m_data_string_recvcount
Definition LoadBalanceCosts.H:36
ReducedDiags(const std::string &rd_name)
Definition ReducedDiags.cpp:26