[petsc-users] How to read/write a HDF5 file using petsc4py ?

Quentin Chevalier quentin.chevalier at polytechnique.edu
Mon Dec 6 09:22:17 CST 2021


Hello PETSc users,

This email is a duplicata of this gitlab issue
<https://gitlab.com/petsc/petsc/-/issues/1070>, sorry for any inconvenience
caused.

I want to compute a PETSc vector in real mode, than perform calculations
with it in complex mode. I want as much of this process to be parallel as
possible. Right now, I compile PETSc in real mode, compute my vector and
save it to a file, then switch to complex mode, read it, and move on.

This creates unexpected behaviour using MPIIO, so on Lisandro Dalcinl's
advice I'm moving to HDF5 format. My code is as follows (taking inspiration
from petsc4py doc
<https://www.mcs.anl.gov/petsc/petsc4py-current/docs/apiref/petsc4py.PETSc.Viewer-class.html#section-NestedClasses>,
a bitbucket example
<https://bitbucket.org/petsc/petsc4py/issues/70/difficulties-in-reading-from-hdf5-file>
and another one
<https://bitbucket.org/petsc/petsc4py/pull-requests/51/add-save-in-hdf5-format-demo>,
all top Google results for 'petsc hdf5') :

> viewer = PETSc.Viewer().createHDF5(file_name, 'r', COMM_WORLD)q.load(viewer)q.ghostUpdate(addv=PETSc.InsertMode.INSERT, mode=PETSc.ScatterMode.FORWARD)
>
>
This crashes my code. I obtain traceback :

>   File "/home/shared/code.py", line 121, in Load    viewer = PETSc.Viewer().createHDF5(file_name, 'r', COMM_WORLD)  File "PETSc/Viewer.pyx", line 182, in petsc4py.PETSc.Viewer.createHDF5petsc4py.PETSc.Error: error code 86[0] PetscViewerSetType() at /usr/local/petsc/src/sys/classes/viewer/interface/viewreg.c:442[0] Unknown type. Check for miss-spelling or missing package: https://petsc.org/release/install/install/#external-packages[0] Unknown PetscViewer type given: hdf5
>
>
I have petsc4py 3.16 from this docker container
<https://hub.docker.com/r/dolfinx/dolfinx> (list of dependencies
<https://docs.fenicsproject.org/dolfinx/main/python/installation.html#dependencies>
include PETSc and petsc4py).

I'm pretty sure this is not intended behaviour. Any insight as to how to
fix this issue (I tried running ./configure --with-hdf5 to no avail) or
more generally to perform this jiggling between real and complex would be
much appreciated,

Kind regards.

Quentin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211206/531a4487/attachment-0001.html>


More information about the petsc-users mailing list