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

Matthew Knepley knepley at gmail.com
Mon Dec 6 12:02:20 CST 2021

On Mon, Dec 6, 2021 at 11:28 AM Quentin Chevalier <
quentin.chevalier at polytechnique.edu> wrote:

> 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
>> This means that PETSc has not been configured with HDF5 (--with-hdf5 or
--download-hdf5), so the container should be updated.



> 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

What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211206/ec0cfdf2/attachment.html>

More information about the petsc-users mailing list