cloudy
trunk
|
#include <cpu.h>
Public Member Functions | |
t_cpu_i () | |
bool | big_endian () const |
bool | little_endian () const |
sys_float | min_float () const |
double | min_double () const |
void | set_signal_handlers () |
void | setAssertAbort (bool val) |
bool | lgAssertAbort () const |
void | set_nCPU (long n) |
long | nCPU () const |
void | set_used_nCPU (long n) |
long | used_nCPU () const |
bool | lgMPI () const |
void | set_MPISingleRankMode (bool mode) |
bool | lgMPISingleRankMode () const |
void | set_nRANK (long n) |
long | nRANK () const |
bool | lgMaster () const |
bool | lgMPI_talk () const |
const char * | host_name () const |
void | printDataPath () const |
char | chDirSeparator () const |
bool | firstOpen () const |
bool | foundMD5Mismatch () const |
const string & | chExitStatus (exit_type s) const |
Private Member Functions | |
void | enable_traps () const |
void | getPathList (const char *fname, vector< string > &PathList, access_scheme scheme, bool lgRead) const |
void | getMD5sums (const char *fname) |
Static Private Member Functions | |
static void | signal_handler (int sig) |
Private Attributes | |
union { | |
char c [4] | |
int32 i | |
} | endian |
sys_float | test_float |
double | test_double |
int32 | Float_SNaN_Value |
int32 | Double_SNaN_Value [2] |
bool | p_lgAssertAbort |
long | n_avail_CPU |
long | n_use_CPU |
bool | p_lgMPI |
bool | p_lgMPISingleRankMode |
long | n_rank |
char | HostName [STDLEN] |
vector< string > | chSearchPath |
char | p_chDirSeparator |
int | nFileDone |
int | nMD5Mismatch |
map< string, string > | md5sum_expct |
vector< string > | p_exit_status |
Friends | |
FILE * | open_data (const char *fname, const char *mode, access_scheme scheme) |
void | open_data (fstream &stream, const char *fname, ios_base::openmode mode, access_scheme scheme) |
MPI_File | open_data (const char *fname, int mode, access_scheme scheme) |
void | check_data (const char *fpath, const char *fname) |
void | set_NaN (sys_float &x) |
void | set_NaN (sys_float x[], long n) |
void | set_NaN (double &x) |
void | set_NaN (double x[], long n) |
t_cpu_i::t_cpu_i | ( | ) |
Definition at line 71 of file cpu.cpp.
References big_endian(), chSearchPath, DEBUG_ENTRY, Double_SNaN_Value, enable_traps(), endian, ES_BAD_ALLOC, ES_BAD_ASSERT, ES_BOTCHES, ES_BUS_ERROR, ES_CLOUDY_ABORT, ES_DOMAIN_ERROR, ES_FAILURE, ES_FP_EXCEPTION, ES_ILLEGAL_INSTRUCTION, ES_OUT_OF_RANGE, ES_SEGFAULT, ES_SUCCESS, ES_TERMINATION_REQUEST, ES_TOP, ES_UNKNOWN_EXCEPTION, ES_UNKNOWN_SIGNAL, ES_USER_INTERRUPT, ES_WARNINGS, FindAndReplace(), Float_SNaN_Value, getMD5sums(), HostName, ioPrnErr, ioQQQ, ioStdin, lgPrnErr, little_endian(), n_avail_CPU, n_rank, nFileDone, nMD5Mismatch, p_chDirSeparator, p_exit_status, p_lgAssertAbort, p_lgMPI, p_lgMPISingleRankMode, set_signal_handlers(), Split(), SPM_RELAX, STDLEN, test_double, and test_float.
|
inline |
Definition at line 354 of file cpu.h.
References endian.
Referenced by mie_read_opc(), mie_write_opc(), MyIsnan(), ReadTable(), SaveDo(), and t_cpu_i().
|
inline |
|
inline |
|
private |
Definition at line 340 of file cpu.cpp.
Referenced by signal_handler(), and t_cpu_i().
|
inline |
|
inline |
|
private |
Definition at line 623 of file cpu.cpp.
References AS_DATA_ONLY_TRY, DEBUG_ENTRY, FindAndReplace(), getPathList(), md5sum_expct, mode_r, nFileDone, and p_chDirSeparator.
Referenced by t_cpu_i().
|
private |
Definition at line 574 of file cpu.cpp.
References AS_DATA_ONLY, AS_DATA_ONLY_TRY, AS_DATA_OPTIONAL, AS_DEFAULT, AS_LOCAL_DATA, AS_LOCAL_DATA_TRY, AS_LOCAL_ONLY, AS_LOCAL_ONLY_TRY, AS_SILENT_TRY, ASSERT, chSearchPath, DEBUG_ENTRY, i, and TotalInsanity().
Referenced by getMD5sums(), and open_data().
|
inline |
|
inline |
|
inline |
Definition at line 396 of file cpu.h.
References n_rank.
Referenced by cdMain(), GridGatherOutput(), lgMPI_talk(), lgOptimize_do(), main(), phymir_state< X, Y, NP, NSTR >::p_process_output(), phymir_state< X, Y, NP, NSTR >::p_wr_state(), process_output(), and vary_input().
|
inline |
Definition at line 391 of file cpu.h.
References p_lgMPI.
Referenced by cdMain(), load_balance::finalize(), grid_do(), GridGatherOutput(), load_balance::init(), lgCheckMonitors(), main(), optimize_phymir(), and process_output().
|
inline |
Definition at line 397 of file cpu.h.
References lgMaster(), and lgMPISingleRankMode().
Referenced by cdInit(), cdMain(), cdTalk(), gridXspec(), iter_end_check(), lgOptimize_do(), ParseCommands(), and SaveDo().
|
inline |
Definition at line 393 of file cpu.h.
References p_lgMPISingleRankMode.
Referenced by cdMain(), cdPrepareExit(), InitDefaultsPreparse(), lgMPI_talk(), and ParseOptimize().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 388 of file cpu.h.
References n_avail_CPU.
Referenced by grid_do(), GridGatherOutputParallel(), InitDefaultsPreparse(), main(), optimize_phymir(), phymir_state< X, Y, NP, NSTR >::p_execute_job(), ParseGrid(), ParseOptimize(), process_output(), and prt_constants().
|
inline |
Definition at line 395 of file cpu.h.
References n_rank.
Referenced by cdMain(), GridGatherOutputParallel(), load_balance::init(), phymir_state< X, Y, NP, NSTR >::p_execute_job(), process_output(), and SaveGrid().
void t_cpu_i::printDataPath | ( | ) | const |
Definition at line 566 of file cpu.cpp.
References chSearchPath, fprintf(), i, and ioQQQ.
Referenced by AbortErrorMessage(), and ParsePrint().
|
inline |
|
inline |
|
inline |
Definition at line 394 of file cpu.h.
References n_rank.
Referenced by load_balance::init(), and main().
void t_cpu_i::set_signal_handlers | ( | ) |
Definition at line 519 of file cpu.cpp.
References DEBUG_ENTRY, and signal_handler().
Referenced by main(), and t_cpu_i().
|
inline |
Definition at line 389 of file cpu.h.
References n_use_CPU.
Referenced by main(), and optimize_phymir().
|
inline |
Definition at line 367 of file cpu.h.
References p_lgAssertAbort, and signal_handler().
Referenced by cdMain(), and ParseSet().
|
staticprivate |
Definition at line 554 of file cpu.cpp.
References cpu, enable_traps(), and t_cpu::i().
Referenced by set_signal_handlers(), and setAssertAbort().
|
inline |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
define routines for setting single and double precision signaling NaN The bit pattern for an SNaN is implementation defined, but this should work on most modern CPU's. The system definition is preferred, so in C++ this should be replaced by numeric_limits<TYPE>::signaling_NaN()
set_NaN - set variable or array to SNaN
|
private |
the default search path to the data files
Definition at line 334 of file cpu.h.
Referenced by getPathList(), printDataPath(), and t_cpu_i().
|
private |
union { ... } t_cpu_i::endian |
alias an int32 to 4 chars to test if we are on a big-endian or little-endian CPU the array cpu.endian.c[] is initialized in cdInit()
Referenced by big_endian(), little_endian(), and t_cpu_i().
|
private |
|
private |
the name of the computer, not detected on all systems
Definition at line 332 of file cpu.h.
Referenced by host_name(), and t_cpu_i().
int32 t_cpu_i::i |
Definition at line 297 of file cpu.h.
Referenced by getPathList(), and printDataPath().
|
private |
the map of the MD5 sums of all the data files
Definition at line 342 of file cpu.h.
Referenced by check_data(), and getMD5sums().
|
private |
the number of available CPUs on the system, not detected on all systems
Definition at line 319 of file cpu.h.
Referenced by nCPU(), set_nCPU(), and t_cpu_i().
|
private |
the rank number in an MPI run, -1 otherwise
Definition at line 330 of file cpu.h.
Referenced by lgMaster(), nRANK(), set_nRANK(), and t_cpu_i().
|
private |
the number of used CPUs
Definition at line 321 of file cpu.h.
Referenced by set_used_nCPU(), and used_nCPU().
|
private |
how many data files have been opened?
Definition at line 338 of file cpu.h.
Referenced by firstOpen(), getMD5sums(), open_data(), and t_cpu_i().
|
private |
how many modified data files were found?
Definition at line 340 of file cpu.h.
Referenced by check_data(), foundMD5Mismatch(), and t_cpu_i().
|
private |
the directory separator character for this OS
Definition at line 336 of file cpu.h.
Referenced by chDirSeparator(), getMD5sums(), and t_cpu_i().
|
private |
Definition at line 347 of file cpu.h.
Referenced by chExitStatus(), and t_cpu_i().
|
private |
should a failed assert raise SIGABRT so that we can catch it in a debugger?
Definition at line 316 of file cpu.h.
Referenced by lgAssertAbort(), setAssertAbort(), and t_cpu_i().
|
private |
|
private |
flag indicating whether each rank runs its own model true means that each rank runs a different sim (e.g. in a grid) false means that all ranks cooperate on the same sim this flag is moot in a non-MPI run
Definition at line 328 of file cpu.h.
Referenced by lgMPISingleRankMode(), set_MPISingleRankMode(), and t_cpu_i().
|
private |
Definition at line 301 of file cpu.h.
Referenced by min_double(), and t_cpu_i().
|
private |
Definition at line 300 of file cpu.h.
Referenced by min_float(), and t_cpu_i().