OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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
//DKS include
10
#ifdef IPPL_DKS
11
class
DKSOPAL;
12
#endif
13
14
class
StaticIpplInfo
{
15
public
:
16
StaticIpplInfo
();
17
~StaticIpplInfo
();
18
19
// Inform *Info;
20
// Inform *Warn;
21
// Inform *Error;
22
// Inform *Debug;
23
24
// the parallel communication object
25
Communicate
*
Comm
;
26
27
// the statistics collection object
28
IpplStats
*
Stats
;
29
30
Inform
*
Info
;
31
Inform
*
Warn
;
32
Inform
*
Error
;
33
Inform
*
Debug
;
34
35
#ifdef IPPL_DKS
36
DKSOPAL *DKS;
37
#endif
38
39
// flag telling whether to use optimization for reducing
40
// communication by deferring guard cell fills.
41
bool
deferGuardCellFills
;
42
43
// flag telling whether to turn off compression in the Field classes.
44
bool
noFieldCompression
;
45
46
// flag telling whether to try to (pseudo-)randomly offset the
47
// LField blocks to try to avoid cache conflicts.
48
bool
offsetStorage
;
49
50
// flag telling whether to try to do a TryCompress after each
51
// individual LField has been processed in an expression.
52
bool
extraCompressChecks
;
53
54
// flag telling whether to try to use direct-io. This is only
55
// possible if the library is compiled with the IPPL_DIRECTIO option,
56
// and you are on a system that provides this capablity.
57
bool
useDirectIO
;
58
59
MPI_Comm
communicator_m
;
60
61
// counter indicating how many IpplInit objects have been created.
62
// When this gets back to zero, it's time to delete the Comm and quit.
63
int
NumCreated
;
64
65
// flag indicating whether this class has been created with
66
// argc,argv specified ever. This should only be done once.
67
bool
CommInitialized
;
68
69
// flag indicating whether we should print out stats info at the
70
// end of the program.
71
bool
PrintStats
;
72
73
// flag indicating if we need to delete the comm object at the end.
74
bool
NeedDeleteComm
;
75
76
// flag indicating whether to use checksums on messages
77
bool
UseChecksums
;
78
79
// flag indicating whether to retransmit messages when errors occur
80
bool
Retransmit
;
81
82
// data with argc and argv
83
int
MyArgc
;
84
char
**
MyArgv
;
85
86
// data with my node number and total number of nodes. These are
87
// only changed when a new Communicate object is created.
88
int
MyNode
;
89
int
TotalNodes
;
90
91
// data with SMP information. These are changed after a new
92
// Communicate object is created.
93
int
NumSMPs
;
94
int
*
SMPIDList
;
95
int
*
SMPNodeList
;
96
97
// data about a limit to the number of nodes that should be used
98
// in FFT operations. If this is <= 0 or > number of nodes, it is ignored.
99
int
MaxFFTNodes
;
100
101
// Maximum read chunk size
102
int
ChunkSize
;
103
104
// A boolean setting for whether we should attempt to use parallel
105
// I/O within a single SMP, for example by having multipple processors
106
// try to read from a single file (vs just having one node do it).
107
bool
PerSMPParallelIO
;
108
109
#ifdef IPPL_COMM_ALARMS
110
// A timeout quantity, in seconds, to allow us to wait a certain number
111
// of seconds before we signal a timeout when we're trying to receive
112
// a message. By default, this will be zero; change it with the
113
// --msgtimeout <seconds> flag
114
unsigned
int
CommTimeoutSeconds;
115
#endif
116
117
};
118
119
#endif
StaticIpplInfo::MyArgc
int MyArgc
Definition:
StaticIpplInfo.h:83
StaticIpplInfo::Comm
Communicate * Comm
Definition:
StaticIpplInfo.h:25
StaticIpplInfo::Retransmit
bool Retransmit
Definition:
StaticIpplInfo.h:80
StaticIpplInfo::SMPIDList
int * SMPIDList
Definition:
StaticIpplInfo.h:94
StaticIpplInfo::~StaticIpplInfo
~StaticIpplInfo()
Definition:
StaticIpplInfo.cpp:10
StaticIpplInfo::ChunkSize
int ChunkSize
Definition:
StaticIpplInfo.h:102
StaticIpplInfo::PrintStats
bool PrintStats
Definition:
StaticIpplInfo.h:71
StaticIpplInfo::extraCompressChecks
bool extraCompressChecks
Definition:
StaticIpplInfo.h:52
StaticIpplInfo::NumSMPs
int NumSMPs
Definition:
StaticIpplInfo.h:93
StaticIpplInfo::PerSMPParallelIO
bool PerSMPParallelIO
Definition:
StaticIpplInfo.h:107
Communicate
Definition:
Communicate.h:112
StaticIpplInfo::MaxFFTNodes
int MaxFFTNodes
Definition:
StaticIpplInfo.h:99
StaticIpplInfo::deferGuardCellFills
bool deferGuardCellFills
Definition:
StaticIpplInfo.h:41
StaticIpplInfo::communicator_m
MPI_Comm communicator_m
Definition:
StaticIpplInfo.h:59
StaticIpplInfo::useDirectIO
bool useDirectIO
Definition:
StaticIpplInfo.h:57
StaticIpplInfo::NeedDeleteComm
bool NeedDeleteComm
Definition:
StaticIpplInfo.h:74
StaticIpplInfo::MyArgv
char ** MyArgv
Definition:
StaticIpplInfo.h:84
StaticIpplInfo::noFieldCompression
bool noFieldCompression
Definition:
StaticIpplInfo.h:44
StaticIpplInfo::Warn
Inform * Warn
Definition:
StaticIpplInfo.h:31
StaticIpplInfo::SMPNodeList
int * SMPNodeList
Definition:
StaticIpplInfo.h:95
StaticIpplInfo::Info
Inform * Info
Definition:
StaticIpplInfo.h:30
StaticIpplInfo::Error
Inform * Error
Definition:
StaticIpplInfo.h:32
StaticIpplInfo::StaticIpplInfo
StaticIpplInfo()
Definition:
StaticIpplInfo.cpp:9
StaticIpplInfo::Debug
Inform * Debug
Definition:
StaticIpplInfo.h:33
StaticIpplInfo::Stats
IpplStats * Stats
Definition:
StaticIpplInfo.h:28
StaticIpplInfo::UseChecksums
bool UseChecksums
Definition:
StaticIpplInfo.h:77
StaticIpplInfo::CommInitialized
bool CommInitialized
Definition:
StaticIpplInfo.h:67
StaticIpplInfo::TotalNodes
int TotalNodes
Definition:
StaticIpplInfo.h:89
StaticIpplInfo::NumCreated
int NumCreated
Definition:
StaticIpplInfo.h:63
Inform
Definition:
Inform.h:41
StaticIpplInfo
Definition:
StaticIpplInfo.h:14
StaticIpplInfo::MyNode
int MyNode
Definition:
StaticIpplInfo.h:88
IpplStats
Definition:
IpplStats.h:45
StaticIpplInfo::offsetStorage
bool offsetStorage
Definition:
StaticIpplInfo.h:48
Generated on Sat Jan 4 2020 14:47:40 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5