libSplash
DCParallelDataSet.hpp
1 
23 #ifndef DCPARALLELDATASET_HPP
24 #define DCPARALLELDATASET_HPP
25 
26 #include "splash/core/DCDataSet.hpp"
27 
28 
29 namespace splash
30 {
31 
35  class DCParallelDataSet : public DCDataSet
36  {
37  public:
38 
39  DCParallelDataSet(const std::string name) :
40  DCDataSet(name)
41  {
42  dsetWriteProperties = H5Pcreate(H5P_DATASET_XFER);
43  H5Pset_dxpl_mpio(dsetWriteProperties, H5FD_MPIO_COLLECTIVE);
44 
45  dsetReadProperties = H5Pcreate(H5P_DATASET_XFER);
46  H5Pset_dxpl_mpio(dsetReadProperties, H5FD_MPIO_COLLECTIVE);
47 
48  checkExistence = false;
49  }
50 
51  virtual ~DCParallelDataSet()
52  {
53  H5Pclose(dsetWriteProperties);
54  H5Pclose(dsetReadProperties);
55  }
56 
57  void setWriteIndependent()
58  {
59  H5Pset_dxpl_mpio(dsetWriteProperties, H5FD_MPIO_INDEPENDENT);
60  }
61  };
65 }
66 
67 #endif /* DCPARALLELDATASET_HPP */