Skip to content
Snippets Groups Projects

Swmr test

Closed Tobias Meisel requested to merge swmr_test into main
1 file
+ 11
10
Compare changes
  • Side-by-side
  • Inline
+ 11
10
@@ -118,6 +118,8 @@ printf("[%d] write start", comm_rank);
H5Dclose(dset2);
H5Gclose(g);
printf("[%d] write done", comm_rank);
H5Dflush(dset);
// extend
hsize_t new_size=size;
for (int k=0; k<num_extends;++k)
@@ -126,21 +128,20 @@ printf("[%d] write start", comm_rank);
std::vector<int> v2(data_length+inc*comm_rank);
std::iota(std::begin(v2), std::end(v2),comm_rank*10+(k+1)*100);
new_size+=size;
hid_t status = H5Dset_extent(dset, &new_size);
fspace = H5Dget_space(dset);
hid_t status2 = H5Sselect_hyperslab(fspace, H5S_SELECT_SET,offset2, NULL, dimsext,NULL);
mspace = H5Screate_simple(1, dimsext, NULL);
status = H5Dwrite(dset, H5T_NATIVE_INT, mspace, fspace, H5P_DEFAULT, dataext);
H5Dflush(dset);
hsize_t dimsext[]={v2.size()};
hsize_t offset2[]={new_size+offset};
int* dataext = v2.data();
new_size+=size;
hid_t status = H5Dset_extent(dset, &new_size);
fspace = H5Dget_space(dset);
hid_t status2 = H5Sselect_hyperslab(fspace, H5S_SELECT_SET,offset2, NULL, dimsext,NULL);
mspace = H5Screate_simple(1, dimsext, NULL);
status = H5Dwrite(dset, H5T_NATIVE_INT, mspace, fspace, H5P_DEFAULT, dataext);
}
H5Dflush(dset);
// Clean house!
H5Sclose(mspace) ;
H5Dclose(dset) ;
H5Sclose(fspace) ;
H5Fclose(file) ;
Loading