[petsc-users] Problem reading and HDF5 binary file

fujisan fujisan43 at gmail.com
Tue Oct 4 02:19:25 CDT 2022


Hi everyone,

I have written a matrix in an HDF5 binary file without problem using
PetscViewerHDF5Open function like this:

! Write
if (ishdf5) then
    PetscCall(PetscViewerHDF5Open(PETSC_COMM_WORLD,trim(filename
),FILE_MODE_WRITE,view,ierr))
else
    PetscCall(PetscViewerBinaryOpen(PETSC_COMM_WORLD,trim(filename
),FILE_MODE_WRITE,view,ierr))
endif
PetscCall(MatView(A,view,ierr))
PetscCall(PetscViewerDestroy(view,ierr))

But when I want to read that HDF5 file like this:

! Read
if (ishdf5) then
    PetscCall(PetscViewerHDF5Open(PETSC_COMM_WORLD,trim(filename
),FILE_MODE_READ,view,ierr))
else
    PetscCall(PetscViewerBinaryOpen(PETSC_COMM_WORLD,trim(filename
),FILE_MODE_READ,view,ierr))
endif
PetscCall(MatCreate(PETSC_COMM_WORLD,A,ierr))
PetscCall(MatSetType(A,MATMPIAIJ,ierr))
PetscCall(MatLoad(A,view,ierr))
PetscCall(PetscViewerDestroy(view,ierr))

I get this kind of error message below.
I don't have any problem writing / reading using PetscViewerBinaryOpen, and
no problem writing / reading a vector using PetscViewerHDF5Open either.

What am I missing ?

Fuji

[0]PETSC ERROR: --------------------- Error Message
--------------------------------------------------------------
[0]PETSC ERROR: Unexpected data in file
[0]PETSC ERROR: Attribute /Mat_0xc4000016_0/MATLAB_sparse does not exist
and default value not provided
[0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.18.0, unknown
[0]PETSC ERROR: ./bin/solve on a x86_64 named master by beauduin Tue Oct  4
08:55:55 2022
[0]PETSC ERROR: Configure options --with-petsc-arch=x86_64 --COPTFLAGS="-g
-O3" --FOPTFLAGS="-g -O3" --CXXOPTFLAGS="-g -O3" --with-debugging=0
--with-cc=mpiicc --with-cxx=mpiicpc --with-fc=mpiifort
--with-single-library=1 --with-mpiexec=mpiexec --with-precision=double
--with-fortran-interfaces=1 --with-make=1 --with-mpi=1
--with-mpi-compilers=1 --download-fblaslapack=0 --download-hypre=1
--download-cmake=0 --with-cmake=1 --download-metis=1 --download-parmetis=1
--download-ptscotch=0 --download-suitesparse=1 --download-triangle=1
--download-superlu=1 --download-superlu_dist=1 --download-scalapack=1
--download-mumps=1 --download-elemental=1 --download-spai=0
--download-parms=1 --download-moab=1 --download-chaco=0 --download-fftw=1
--with-petsc4py=1 --download-mpi4py=1 --download-saws
--download-concurrencykit=1 --download-revolve=1 --download-cams=1
--download-p4est=0 --with-zlib=1 --with-hdf5=1 --download-hdf5=1
--download-mfem=1 --download-glvis=0 --with-opengl=0 --download-libpng=1
--download-libjpeg=1 --download-slepc=1 --download-hpddm=1
--download-bamg=1 --download-mmg=0 --download-parmmg=0 --download-htool=1
--download-egads=0 --download-opencascade=0 PETSC_ARCH=x86_64
[0]PETSC ERROR: #1 PetscViewerHDF5ReadAttribute() at
/data/softs/petsc/src/sys/classes/viewer/impls/hdf5/hdf5v.c:1245
[0]PETSC ERROR: #2 MatLoad_AIJ_HDF5() at
/data/softs/petsc/src/mat/impls/aij/seq/aijhdf5.c:63
[0]PETSC ERROR: #3 MatLoad_MPIAIJ() at
/data/softs/petsc/src/mat/impls/aij/mpi/mpiaij.c:3034
[0]PETSC ERROR: #4 MatLoad() at
/data/softs/petsc/src/mat/interface/matrix.c:1304
[0]PETSC ERROR: #5 bigmat.F90:62
[0]PETSC ERROR: #6 MatCreateVecs() at
/data/softs/petsc/src/mat/interface/matrix.c:9336
[0]PETSC ERROR: #7 solve.F90:143
Abort(73) on node 0 (rank 0 in comm 16): application called
MPI_Abort(MPI_COMM_SELF, 73) - process 0
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source

solve              000000000043258A  Unknown               Unknown  Unknown
libpthread-2.28.s  00007FCAF0B78C20  Unknown               Unknown  Unknown
libmpi.so.12.0.0   00007FCAF17A09D3  Unknown               Unknown  Unknown
....
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20221004/fde1bbc6/attachment-0001.html>


More information about the petsc-users mailing list