[petsc-users] Bug in VecLoad_HDF5_DA when using single precision

Barry Smith bsmith at mcs.anl.gov
Fri Feb 27 13:17:41 CST 2015


  Thanks. Fixed in maint, master and next

> On Feb 27, 2015, at 9:00 AM, Håkon Strandenes <haakon at hakostra.net> wrote:
> 
> Hi,
> 
> Recently I decided to try using PETSc with single precision, and that resulted in a segmentation fault in my application. Digging a bit into this I quickly found a bug in VecLoad_HDF5_DA.c, line 858, where the HDF5 type 'H5T_NATIVE_DOUBLE' is hard-coded into H5Dread(), independent on the precision PETSc is built with. This obviously leads to a segmentation fault, since H5Dread() tries to fill twice as much data into the memory as there is allocated space for.
> 
> I think this should be handled as in VecView_MPI_HDF5_DA, where there are some #if defined(...) that sets a variable to pass on to the HDF5 functions depending on the floating point type PETSc is compiled with. That did at least solve my segmentation fault problems.
> 
> Have a nice weekend.
> 
> Regards,
> Håkon



More information about the petsc-users mailing list