OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
src
ippl
src
Utility
StaticIpplInfo.h
Go to the documentation of this file.
1
#ifndef STATIC_IPPL_INFO_H
2
#define STATIC_IPPL_INFO_H
3
4
#include <mpi.h>
5
6
class
Communicate
;
7
class
IpplStats
;
8
class
Inform
;
9
10
class
StaticIpplInfo
{
11
public
:
12
StaticIpplInfo
();
13
~StaticIpplInfo
();
14
15
// Inform *Info;
16
// Inform *Warn;
17
// Inform *Error;
18
// Inform *Debug;
19
20
// the parallel communication object
21
Communicate
*
Comm
;
22
23
// the statistics collection object
24
IpplStats
*
Stats
;
25
26
Inform
*
Info
;
27
Inform
*
Warn
;
28
Inform
*
Error
;
29
Inform
*
Debug
;
30
31
// flag telling whether to use optimization for reducing
32
// communication by deferring guard cell fills.
33
bool
deferGuardCellFills
;
34
35
// flag telling whether to turn off compression in the Field classes.
36
bool
noFieldCompression
;
37
38
// flag telling whether to try to (pseudo-)randomly offset the
39
// LField blocks to try to avoid cache conflicts.
40
bool
offsetStorage
;
41
42
// flag telling whether to try to do a TryCompress after each
43
// individual LField has been processed in an expression.
44
bool
extraCompressChecks
;
45
46
MPI_Comm
communicator_m
;
47
48
// counter indicating how many IpplInit objects have been created.
49
// When this gets back to zero, it's time to delete the Comm and quit.
50
int
NumCreated
;
51
52
// flag indicating whether this class has been created with
53
// argc,argv specified ever. This should only be done once.
54
bool
CommInitialized
;
55
56
// flag indicating whether we should print out stats info at the
57
// end of the program.
58
bool
PrintStats
;
59
60
// flag indicating if we need to delete the comm object at the end.
61
bool
NeedDeleteComm
;
62
63
// flag indicating whether to use checksums on messages
64
bool
UseChecksums
;
65
66
// flag indicating whether to retransmit messages when errors occur
67
bool
Retransmit
;
68
69
// data with argc and argv
70
int
MyArgc
;
71
char
**
MyArgv
;
72
73
// data with my node number and total number of nodes. These are
74
// only changed when a new Communicate object is created.
75
int
MyNode
;
76
int
TotalNodes
;
77
78
// data with SMP information. These are changed after a new
79
// Communicate object is created.
80
int
NumSMPs
;
81
int
*
SMPIDList
;
82
int
*
SMPNodeList
;
83
84
// data about a limit to the number of nodes that should be used
85
// in FFT operations. If this is <= 0 or > number of nodes, it is ignored.
86
int
MaxFFTNodes
;
87
88
// Maximum read chunk size
89
int
ChunkSize
;
90
91
// A boolean setting for whether we should attempt to use parallel
92
// I/O within a single SMP, for example by having multipple processors
93
// try to read from a single file (vs just having one node do it).
94
bool
PerSMPParallelIO
;
95
96
};
97
98
#endif
Communicate
Definition:
Communicate.h:113
Inform
Definition:
Inform.h:42
IpplStats
Definition:
IpplStats.h:46
StaticIpplInfo
Definition:
StaticIpplInfo.h:10
StaticIpplInfo::Comm
Communicate * Comm
Definition:
StaticIpplInfo.h:21
StaticIpplInfo::Error
Inform * Error
Definition:
StaticIpplInfo.h:28
StaticIpplInfo::MyNode
int MyNode
Definition:
StaticIpplInfo.h:75
StaticIpplInfo::~StaticIpplInfo
~StaticIpplInfo()
Definition:
StaticIpplInfo.cpp:6
StaticIpplInfo::NeedDeleteComm
bool NeedDeleteComm
Definition:
StaticIpplInfo.h:61
StaticIpplInfo::SMPNodeList
int * SMPNodeList
Definition:
StaticIpplInfo.h:82
StaticIpplInfo::UseChecksums
bool UseChecksums
Definition:
StaticIpplInfo.h:64
StaticIpplInfo::PerSMPParallelIO
bool PerSMPParallelIO
Definition:
StaticIpplInfo.h:94
StaticIpplInfo::extraCompressChecks
bool extraCompressChecks
Definition:
StaticIpplInfo.h:44
StaticIpplInfo::MaxFFTNodes
int MaxFFTNodes
Definition:
StaticIpplInfo.h:86
StaticIpplInfo::Warn
Inform * Warn
Definition:
StaticIpplInfo.h:27
StaticIpplInfo::SMPIDList
int * SMPIDList
Definition:
StaticIpplInfo.h:81
StaticIpplInfo::NumSMPs
int NumSMPs
Definition:
StaticIpplInfo.h:80
StaticIpplInfo::offsetStorage
bool offsetStorage
Definition:
StaticIpplInfo.h:40
StaticIpplInfo::deferGuardCellFills
bool deferGuardCellFills
Definition:
StaticIpplInfo.h:33
StaticIpplInfo::TotalNodes
int TotalNodes
Definition:
StaticIpplInfo.h:76
StaticIpplInfo::Retransmit
bool Retransmit
Definition:
StaticIpplInfo.h:67
StaticIpplInfo::MyArgc
int MyArgc
Definition:
StaticIpplInfo.h:70
StaticIpplInfo::MyArgv
char ** MyArgv
Definition:
StaticIpplInfo.h:71
StaticIpplInfo::NumCreated
int NumCreated
Definition:
StaticIpplInfo.h:50
StaticIpplInfo::StaticIpplInfo
StaticIpplInfo()
Definition:
StaticIpplInfo.cpp:5
StaticIpplInfo::ChunkSize
int ChunkSize
Definition:
StaticIpplInfo.h:89
StaticIpplInfo::noFieldCompression
bool noFieldCompression
Definition:
StaticIpplInfo.h:36
StaticIpplInfo::Debug
Inform * Debug
Definition:
StaticIpplInfo.h:29
StaticIpplInfo::CommInitialized
bool CommInitialized
Definition:
StaticIpplInfo.h:54
StaticIpplInfo::PrintStats
bool PrintStats
Definition:
StaticIpplInfo.h:58
StaticIpplInfo::Info
Inform * Info
Definition:
StaticIpplInfo.h:26
StaticIpplInfo::communicator_m
MPI_Comm communicator_m
Definition:
StaticIpplInfo.h:46
StaticIpplInfo::Stats
IpplStats * Stats
Definition:
StaticIpplInfo.h:24
Generated on Wed Aug 25 2021 16:41:00 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.1