104 std::cout <<
" FlightRecorder: set to print output " <<std::endl;
110 std::cout <<
" FlightRecorder: set to RECORD " <<std::endl;
116 std::cout <<
" FlightRecorder: set to VERIFY " <<
NormLogVector.size()<<
" log entries "<<std::endl;
126 uint64_t hex = * ( (uint64_t *)&value );
128 std::cerr<<
"FlightRecorder::NormLog : "<<
NormLoggingCounter <<
" "<<std::hex<< hex<<std::dec <<std::endl;
133 std::cerr<<
"FlightRecorder::NormLog RECORDING : "<<
NormLoggingCounter <<
" "<<std::hex<< hex<<std::dec <<std::endl;
145 fprintf(stderr,
"FlightRecorder Oops step %d stage %s \n",
149 <<std::hex<<
" "<<hex<<
" "<<hexref<<std::dec<<
" "
154 fprintf(stderr,
"%s:%d Oops, I did it again! Reproduce failure for norm %d/%zu %.16e expect %.16e\n",
168 <<
" "<<hex<<
" "<<hexref
175 std::cout <<
"FlightRecorder:: Verified entire sequence of "<<
NormLoggingCounter<<
" norms "<<std::endl;
184 std::cerr<<
"FlightRecorder::CsumLog : "<<
CsumLoggingCounter <<
" "<<std::hex<< hex<<std::dec <<std::endl;
190 std::cerr<<
"FlightRecorder::CsumLog RECORDING : "<<
NormLoggingCounter <<
" "<<std::hex<< hex<<std::dec <<std::endl;
202 if ( hex != hexref ) {
204 fprintf(stderr,
"FlightRecorder Oops step %d stage %s \n",
208 <<std::hex<<
" "<<hex<<
" "<<hexref<<std::dec<<std::endl;
210 fprintf(stderr,
"%s:%d Oops, I did it again! Reproduce failure for csum %d %lx expect %lx\n",
225 <<
" "<<hex<<
" "<<hexref<<std::dec<<std::endl;
230 std::cout <<
"FlightRecorder:: Verified entire sequence of "<<
CsumLoggingCounter<<
" checksums "<<std::endl;
239 uint64_t hex_l = * ( (uint64_t *)&
local );
240 uint64_t hex_g = * ( (uint64_t *)&global );
242 std::cerr<<
"FlightRecorder::ReductionLog : "<<
ReductionLoggingCounter <<
" "<< std::hex << hex_l <<
" -> " <<hex_g<<std::dec <<std::endl;
246 std::cerr<<
"FlightRecorder::ReductionLog RECORDING : "<<
ReductionLoggingCounter <<
" "<< std::hex << hex_l <<
" -> " <<hex_g<<std::dec <<std::endl;
253 fprintf(stderr,
"FlightRecorder Oops step %d stage %s \n",
256 fprintf(stderr,
"%s:%d Oops, MPI_Allreduce did it again! Reproduce failure for norm %d/%zu glb %.16e lcl %.16e expect glb %.16e\n",
268 std::cerr<<
"FlightRecorder::ReductionLog : VALID "<<
ReductionLoggingCounter <<
" "<< std::hexfloat <<
local <<
"-> "<< global <<std::endl;
273 std::cout <<
"FlightRecorder::ReductionLog : Verified entire sequence of "<<
ReductionLoggingCounter<<
" norms "<<std::endl;
287 uint64_t *ubuf = (uint64_t *)buf;
288 uint64_t _xor =
svm_xor(ubuf,bytes/
sizeof(uint64_t));
290 std::cerr<<
"FlightRecorder::xmitLog : "<<
XmitLoggingCounter <<
" "<< std::hex << _xor <<std::dec <<std::endl;
294 std::cerr<<
"FlightRecorder::xmitLog RECORD : "<<
XmitLoggingCounter <<
" "<< std::hex << _xor <<std::dec <<std::endl;
301 fprintf(stderr,
"FlightRecorder Oops step %d stage %s \n",
304 fprintf(stderr,
"%s:%d Oops, send buf difference! Reproduce failure for xmit %d/%zu %lx expect glb %lx\n",
321 std::cout <<
"FlightRecorder::ReductionLog : Verified entire sequence of "<<
XmitLoggingCounter<<
" sends "<<std::endl;
333 uint64_t *ubuf = (uint64_t *)buf;
334 uint64_t _xor =
svm_xor(ubuf,bytes/
sizeof(uint64_t));
336 std::cerr<<
"FlightRecorder::recvLog : "<<
RecvLoggingCounter <<
" "<< std::hex << _xor <<std::dec <<std::endl;
340 std::cerr<<
"FlightRecorder::recvLog RECORD : "<<
RecvLoggingCounter <<
" "<< std::hex << _xor <<std::dec <<std::endl;
347 fprintf(stderr,
"FlightRecorder Oops step %d stage %s \n",
350 fprintf(stderr,
"%s:%d Oops, recv buf difference! Reproduce failure for recv %d/%zu %lx expect glb %lx from MPI rank %d\n",
367 std::cout <<
"FlightRecorder::ReductionLog : Verified entire sequence of "<<
RecvLoggingCounter<<
" sends "<<std::endl;
char * GridHostname(void)
Word svm_xor(Word *vec, uint64_t L)
#define NAMESPACE_BEGIN(A)
static const char * StepName
static void SetLoggingModeRecord(void)
static bool StepLog(const char *name)
static void SetLoggingModePrint(void)
static void ReductionLog(double lcl, double glbl)
static void Truncate(void)
static int32_t StepLoggingCounter
static int PrintEntireLog
static bool CsumLog(uint64_t csum)
static std::vector< double > NormLogVector
static uint64_t ErrorCount(void)
static std::vector< double > ReductionLogVector
static int32_t ReductionLoggingCounter
static int ContinueOnFail
static void SetLoggingMode(LoggingMode_t mode)
static int ChecksumCommsSend
static void recvLog(void *, uint64_t bytes, int rank)
static void ResetCounters(void)
static int32_t CsumLoggingCounter
static bool NormLog(double value)
static std::vector< uint64_t > XmitLogVector
static std::vector< uint64_t > CsumLogVector
static std::vector< uint64_t > RecvLogVector
static int32_t XmitLoggingCounter
static void xmitLog(void *, uint64_t bytes)
static uint64_t ErrorCounter
static int32_t RecvLoggingCounter
static int32_t NormLoggingCounter
static void SetLoggingModeVerify(void)