Exemple #1
0
void BkgParamH5::IncrementalWriteParam(DataCube<float> &cube, H5DataSet *set, int flow, int saveWellsFrequency,int numFlows)
{
  int testWellFrequency = saveWellsFrequency*NUMFB; // block size
  if (((flow+1) % (saveWellsFrequency*NUMFB) == 0 && (flow != 0))  || (flow+1) >= numFlows) {
    fprintf(stdout, "Writing incremental wells at flow: %d\n", flow);
    MemUsage("BeforeWrite");
    size_t starts[3];
    size_t ends[3];
    cube.SetStartsEnds(starts, ends);
    set->WriteRangeData(starts, ends, cube.GetMemPtr());
    cube.SetRange(0, cube.GetNumX(), 0, cube.GetNumY(), flow+1, flow + 1 + min(testWellFrequency,numFlows-(flow+1)));
    MemUsage("AfterWrite");
  }
}
Exemple #2
0
void BkgParamH5::WriteOneFlowBlock ( DataCube<int> &cube, H5DataSet *set, int flow, int chunksize )
{
  //  fprintf ( stdout, "Writing incremental H5-diagnostics at flow: %d\n", flow );
  MemUsage ( "BeforeWrite" );
  size_t starts[3];
  size_t ends[3];
  cube.SetStartsEnds ( starts, ends );
  // here's the actual write
  set->WriteRangeData ( starts, ends, cube.GetMemPtr() );
  // set for next iteration
  int nextflow = flow+1;
  int nextchunk = min ( chunksize,datacube_numflows- ( flow+1 ) );
  cube.SetRange ( 0, cube.GetNumX(), 0, cube.GetNumY(), nextflow, nextflow+nextchunk );
  MemUsage ( "AfterWrite" );
}
Exemple #3
0
// set to write one compute block
void BkgParamH5::WriteOneBlock ( DataCube<int> &cube, H5DataSet *set, int iBlk )
{
  if ( set!=NULL )
  {
    //   fprintf ( stdout, "Writing incremental H5-diagnostics at compute block: %d\n", iBlk );
    MemUsage ( "BeforeWrite" );
    size_t starts[3];
    size_t ends[3];
    cube.SetStartsEnds ( starts, ends );
    // here's the actual write
    set->WriteRangeData ( starts, ends, cube.GetMemPtr() );
    // set for next iteration
    int nextBlk = iBlk+1;
    int nextChunk = min ( 1,nFlowBlks-nextBlk );
    cube.SetRange ( 0, cube.GetNumX(), 0, cube.GetNumY(), nextBlk, nextBlk+nextChunk );
    MemUsage ( "AfterWrite" );
  }
}
// Formatted stop message
std::string StopMessage(bool bMainThread, std::string Message)
{
	return StringFromFormat("Stop [%s %i]\t%s\t%s",
		bMainThread ? "Main Thread" : "Video Thread", Common::CurrentThreadId(), MemUsage().c_str(), Message.c_str());
}
 MemUsage operator-(const MemUsage& that) const
 {
   return MemUsage(currMin - that.currMin, currMax - that.currMax,
     currTot - that.currTot, peakMin - that.peakMin, peakMax - that.peakMax,
     peakTot - that.peakTot);
 }
 MemUsage operator+(const MemUsage& that) const
 {
   return MemUsage(currMin + that.currMin, currMax + that.currMax,
     currTot + that.currTot, peakMin + that.peakMin, peakMax + that.peakMax,
     peakTot + that.peakTot);
 }