diff --git a/Appl/CEP/CS1/CS1_BGLProc/src/AH_BGL_Processing.cc b/Appl/CEP/CS1/CS1_BGLProc/src/AH_BGL_Processing.cc index e7a7f28491549ded1193ea47009f00b454e05c37..52d9cb43e2fffb3f83ef860862f32c72618f5ef9 100644 --- a/Appl/CEP/CS1/CS1_BGLProc/src/AH_BGL_Processing.cc +++ b/Appl/CEP/CS1/CS1_BGLProc/src/AH_BGL_Processing.cc @@ -45,6 +45,20 @@ namespace LOFAR { namespace CS1 { +#if defined HAVE_BGL + +static class BlueGeneL_Fixup { + public: + BlueGeneL_Fixup() { + // make std::clog line buffered + static char buffer[4096]; + setvbuf(stderr, buffer, _IOLBF, sizeof buffer); + } +} BlueGeneL_Fixup; + +#endif + + AH_BGL_Processing::AH_BGL_Processing() : itsWHs(0), itsSubbandStub(0), diff --git a/Appl/CEP/CS1/CS1_BGLProc/src/WH_BGL_Processing.cc b/Appl/CEP/CS1/CS1_BGLProc/src/WH_BGL_Processing.cc index 6990c5c999ed865b7d6383d31b84461ddfaef46c..542f129becbb9352aba7ed02858013510c59e0b0 100644 --- a/Appl/CEP/CS1/CS1_BGLProc/src/WH_BGL_Processing.cc +++ b/Appl/CEP/CS1/CS1_BGLProc/src/WH_BGL_Processing.cc @@ -1203,7 +1203,7 @@ WH_BGL_Processing* WH_BGL_Processing::make(const string &name) void WH_BGL_Processing::preprocess() { #if defined HAVE_MPI - std::cerr << "node " << TH_MPI::getCurrentRank() << " filters subbands " << itsFirstSubband << " to " << itsLastSubband << " starting at " << itsCurrentSubband << " with " << itsSubbandIncrement << " as increment\n"; + std::clog << "node " << TH_MPI::getCurrentRank() << " filters subbands " << itsFirstSubband << " to " << itsLastSubband << " starting at " << itsCurrentSubband << " with " << itsSubbandIncrement << " as increment\n"; #endif #if defined HAVE_BGL && NR_SUBBAND_CHANNELS == 256 @@ -1743,25 +1743,27 @@ void WH_BGL_Processing::doCorrelate() void WH_BGL_Processing::process() { #if defined HAVE_MPI - std::cerr.precision(15); - std::cerr << "core " << TH_MPI::getCurrentRank() << ": start reading at " << MPI_Wtime() << '\n'; + std::clog.precision(15); + std::clog << "core " << TH_MPI::getCurrentRank() << ": start reading at " << MPI_Wtime() << '\n'; #endif static NSTimer readTimer("receive timer", true); readTimer.start(); getDataManager().readyWithInHolder(SUBBAND_CHANNEL); +#if defined SPARSE_FLAGS +#if defined HAVE_MPI + std::clog << "core " << TH_MPI::getCurrentRank() << ": start getting extra data at " << MPI_Wtime() << '\n'; +#endif + get_DH_Subband()->getExtraData(); +#endif readTimer.stop(); #if defined HAVE_MPI - std::cerr << "core " << TH_MPI::getCurrentRank() << ": start processing at " << MPI_Wtime() << '\n'; + std::clog << "core " << TH_MPI::getCurrentRank() << ": start processing at " << MPI_Wtime() << '\n'; #endif computeTimer.start(); -#if defined SPARSE_FLAGS - get_DH_Subband()->getExtraData(); -#endif - computeFlags(); #if NR_SUBBAND_CHANNELS > 1 @@ -1778,7 +1780,7 @@ void WH_BGL_Processing::process() computeTimer.stop(); #if defined HAVE_MPI - std::cerr << "core " << TH_MPI::getCurrentRank() << ": start writing at " << MPI_Wtime() << '\n'; + std::clog << "core " << TH_MPI::getCurrentRank() << ": start writing at " << MPI_Wtime() << '\n'; #endif static NSTimer writeTimer("send timer", true); @@ -1788,7 +1790,7 @@ void WH_BGL_Processing::process() writeTimer.stop(); #if defined HAVE_MPI - std::cerr << "core " << TH_MPI::getCurrentRank() << ": start idling at " << MPI_Wtime() << '\n'; + std::clog << "core " << TH_MPI::getCurrentRank() << ": start idling at " << MPI_Wtime() << '\n'; #endif } diff --git a/Appl/CEP/CS1/CS1_BGLProc/test/tWH_BGL_Processing.cc b/Appl/CEP/CS1/CS1_BGLProc/test/tWH_BGL_Processing.cc index 1587852fa735527fa8397afba382d7caa4e4db6c..ff82d8fc91c552727919bffe7ac843eefa990a53 100644 --- a/Appl/CEP/CS1/CS1_BGLProc/test/tWH_BGL_Processing.cc +++ b/Appl/CEP/CS1/CS1_BGLProc/test/tWH_BGL_Processing.cc @@ -65,7 +65,7 @@ void setSubbandTestPattern(WH_BGL_Processing &wh, double signalFrequency, double // distance of .25 labda to introduce a delay. Also, a few samples can be // flagged. - (std::cerr << "setSubbandTestPattern::setTestPattern() ... ").flush(); + std::cerr << "setSubbandTestPattern::setTestPattern() ... "; static NSTimer timer("setTestPattern", true); timer.start(); @@ -118,10 +118,10 @@ void setSubbandTestPattern(WH_BGL_Processing &wh, double signalFrequency, double dh->fillExtraData(); #endif - (std::cerr << "done.\n").flush(); + std::cerr << "done.\n"; #if defined WORDS_BIGENDIAN - (std::cerr << "swapBytes()\n").flush(); + std::cerr << "swapBytes()\n"; dh->swapBytes(); #endif @@ -220,17 +220,17 @@ void doWork() if ((env = getenv("NRUNS")) != 0) { nRuns = atoi(env); - std::cout << "setting nRuns to " << env << '\n'; + std::clog << "setting nRuns to " << env << '\n'; } if ((env = getenv("SIGNAL_FREQUENCY")) != 0) { signalFrequency = atof(env); - std::cout << "setting signal frequency to " << env << '\n'; + std::clog << "setting signal frequency to " << env << '\n'; } if ((env = getenv("BASE_FREQUENCY")) != 0) { baseFrequency = atof(env); - std::cout << "setting base frequency to " << env << '\n'; + std::clog << "setting base frequency to " << env << '\n'; } std::ostringstream baseFrequencyStr; @@ -265,6 +265,12 @@ int main (int argc, char **argv) { int retval = 0; +#if defined HAVE_BGL + // make std::clog line buffered + static char buffer[4096]; + setvbuf(stderr, buffer, _IOLBF, sizeof buffer); +#endif + #if defined HAVE_MPI TH_MPI::initMPI(argc, argv); #else