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 7863fcb0e7aee5e1ce2879f2d6a0b566f5e4604a..b229fc190a667afc411f427677c31a0e50d4f1aa 100644 --- a/Appl/CEP/CS1/CS1_BGLProc/src/WH_BGL_Processing.cc +++ b/Appl/CEP/CS1/CS1_BGLProc/src/WH_BGL_Processing.cc @@ -75,7 +75,7 @@ static NSTimer FFTtimer("FFT", true); static NSTimer doPPFtimer("doPPF()", true); static NSTimer doCorrelateTimer("doCorrelate()", true); static NSTimer weightTimer("weight", true); -static NSTimer totalTimer("total", true); +static NSTimer computeTimer("computing", true); const float FIR::weights[NR_SUBBAND_CHANNELS][NR_TAPS] CACHE_ALIGNED = { @@ -1178,6 +1178,8 @@ WH_BGL_Processing::WH_BGL_Processing(const string& name, unsigned coreNumber, co getDataManager().addInDataHolder(SUBBAND_CHANNEL, new DH_Subband("input", ps)); //getDataManager().addInDataHolder(RFI_MITIGATION_CHANNEL, new DH_RFI_Mitigation("RFI")); getDataManager().addOutDataHolder(VISIBILITIES_CHANNEL, new DH_Visibilities("output", ps)); + getDataManager().setAutoTriggerIn(SUBBAND_CHANNEL, false); + getDataManager().setAutoTriggerOut(VISIBILITIES_CHANNEL, false); } @@ -1736,7 +1738,21 @@ void WH_BGL_Processing::doCorrelate() void WH_BGL_Processing::process() { - totalTimer.start(); +#if defined HAVE_MPI + std::cerr.precision(15); + std::cerr << "core " << TH_MPI::getCurrentRank() << ": start reading at " << MPI_Wtime() << '\n'; +#endif + + static NSTimer readTimer("receive timer", true); + readTimer.start(); + getDataManager().readyWithInHolder(SUBBAND_CHANNEL); + readTimer.stop(); + +#if defined HAVE_MPI + std::cerr << "core " << TH_MPI::getCurrentRank() << ": start processing at " << MPI_Wtime() << '\n'; +#endif + + computeTimer.start(); #if defined SPARSE_FLAGS get_DH_Subband()->getExtraData(); @@ -1755,7 +1771,21 @@ void WH_BGL_Processing::process() if ((itsCurrentSubband += itsSubbandIncrement) >= itsLastSubband) itsCurrentSubband -= itsLastSubband - itsFirstSubband; - totalTimer.stop(); + computeTimer.stop(); + +#if defined HAVE_MPI + std::cerr << "core " << TH_MPI::getCurrentRank() << ": start writing at " << MPI_Wtime() << '\n'; +#endif + + static NSTimer writeTimer("send timer", true); + writeTimer.start(); + getDataManager().readyWithOutHolder(VISIBILITIES_CHANNEL); + getDataManager().getOutHolder(VISIBILITIES_CHANNEL); + writeTimer.stop(); + +#if defined HAVE_MPI + std::cerr << "core " << TH_MPI::getCurrentRank() << ": start idling at " << MPI_Wtime() << '\n'; +#endif }