32 #ifndef INDEX_OUTPUT_HDF5_STREAM_H
33 #define INDEX_OUTPUT_HDF5_STREAM_H
35 #include <cuda_runtime.h>
THDF5_File & file
HDF5 file handle.
The header file of the class saving RealMatrix data into the output HDF5 file.
const TReduceOperator reduceOp
Reduce operator.
virtual void Reopen()
Reopen the output stream after restart and reload data.
virtual void Sample()
Sample data into buffer, apply reduction or copy to the CPU side.
const std::string TMatrixName
Datatype for matrix names.
const TRealMatrix & sourceMatrix
Source matrix to be sampled.
TIndexOutputHDF5Stream(THDF5_File &file, TMatrixName &datasetName, const TRealMatrix &sourceMatrix, const TIndexMatrix &sensorMask, const TReduceOperator reduceOp)
Constructor.
virtual void Checkpoint()
Checkpoint the stream.
virtual void FlushBufferToFile()
Flush the buffer to the file.
Output stream for quantities sampled by an index sensor mask.
TReduceOperator
How to aggregate data.
cudaEvent_t eventSamplingFinished
Has the sampling finished?
Abstract base class for output data streams (sampled data).
virtual void Close()
Close stream (apply post-processing if necessary, flush data and close).
hid_t dataset
Handle to a HDF5 dataset.
The class for real matrices.
The class for 64b unsigned integers (indices). It is used for sensor_mask_index or sensor_corners_mas...
virtual void FlushRaw()
Flush data to disk (from raw streams only).
size_t sampledTimeStep
Time step to store (N/A for aggregated)
virtual void PostProcess()
Apply post-processing on the buffer and flush it to the file.
virtual ~TIndexOutputHDF5Stream()
Destructor.
Class wrapping the HDF5 routines.
virtual void Create()
Create a HDF5 stream and allocate data for it.
const TIndexMatrix & sensorMask
Sensor mask to sample data.