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

Pierre Jolivet pierre at joliv.et
Mon Dec 6 13:04:25 CST 2021



> On 6 Dec 2021, at 7:42 PM, Quentin Chevalier <quentin.chevalier at polytechnique.edu> wrote:
> 
> The PETSC_DIR exactly corresponds to the previous one, so I guess that rules option b) out, except if a specific option is required to overwrite a previous installation of PETSc. As for a), well I thought reconfiguring pretty direct, you're welcome to give me a hint as to what could be wrong in the following process.
> 
> Steps to reproduce this behaviour are as follows :
> * Run this docker container <https://hub.docker.com/r/dolfinx/dolfinx> 
> * Do : python3 -c "from petsc4py import PETSc; PETSc.Viewer().createHDF5('dummy.h5')"
> 
> After you get the error Unknown PetscViewer type, feel free to try :
> 
> * cd /usr/local/petsc/
> * ./configure --with-hfd5

It’s hdf5, not hfd5.
It’s PETSC_ARCH, not PETSC-ARCH.
PETSC_ARCH is missing from your configure line.

Thanks,
Pierre

> * make PETSC_DIR=/usr/local/petsc PETSC-ARCH=linux-gnu-real-32 all
> 
> Then repeat the MWE and observe absolutely no behavioural change whatsoever. I'm afraid I don't know PETSc well enough to be surprised by that.
> 
> Quentin
> 
>  
> 
> 
> Quentin CHEVALIER – IA parcours recherche
> LadHyX - Ecole polytechnique
> 
> __________
> 
> 
> 
> On Mon, 6 Dec 2021 at 19:24, Matthew Knepley <knepley at gmail.com <mailto:knepley at gmail.com>> wrote:
> On Mon, Dec 6, 2021 at 1:22 PM Quentin Chevalier <quentin.chevalier at polytechnique.edu <mailto:quentin.chevalier at polytechnique.edu>> wrote:
> It failed all of the tests included in `make
> PETSC_DIR=/usr/local/petsc PETSC-ARCH=linux-gnu-real-32 check`, with
> the error `/usr/bin/bash: line 1: cd: src/snes/tutorials: No such file
> or directory`
> 
> I am therefore fairly confident this a "file absence" problem, and not
> a compilation problem.
> 
> I repeat that there was no error at compilation stage. The final stage
> did present `gmake[3]: Nothing to be done for 'libs'.` but that's all.
> 
> Again, running `./configure --with-hdf5` followed by a `make
> PETSC_DIR=/usr/local/petsc PETSC-ARCH=linux-gnu-real-32 all` does not
> change the problem. I get the same error at the same position as
> before.
> 
> If you reconfigured and rebuilt, it is impossible to get the same error, so
> 
>   a) You did not reconfigure
> 
>   b) Your new build is somewhere else on the machine
> 
>   Thanks,
> 
>      Matt
>  
> I will comment I am running on OpenSUSE.
> 
> Quentin
> 
> On Mon, 6 Dec 2021 at 19:09, Matthew Knepley <knepley at gmail.com <mailto:knepley at gmail.com>> wrote:
> >
> > On Mon, Dec 6, 2021 at 1:08 PM Quentin Chevalier <quentin.chevalier at polytechnique.edu <mailto:quentin.chevalier at polytechnique.edu>> wrote:
> >>
> >> Hello Matthew and thanks for your quick response.
> >>
> >> I'm afraid I did try to snoop around the container and rerun PETSc's
> >> configure with the --with-hdf5 option, to absolutely no avail.
> >>
> >> I didn't see any errors during config or make, but it failed the tests
> >> (which aren't included in the minimal container I suppose)
> >
> >
> > Failed which tests? What was the error?
> >
> >   Thanks,
> >
> >     Matt
> >
> >>
> >> Quentin
> >>
> >>
> >>
> >> Quentin CHEVALIER – IA parcours recherche
> >>
> >> LadHyX - Ecole polytechnique
> >>
> >> __________
> >>
> >>
> >>
> >> On Mon, 6 Dec 2021 at 19:02, Matthew Knepley <knepley at gmail.com <mailto:knepley at gmail.com>> wrote:
> >> >
> >> > On Mon, Dec 6, 2021 at 11:28 AM Quentin Chevalier <quentin.chevalier at polytechnique.edu <mailto:quentin.chevalier at polytechnique.edu>> wrote:
> >> >>
> >> >> Hello PETSc users,
> >> >>
> >> >> This email is a duplicata of this gitlab issue, 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, a bitbucket example and another one, 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.createHDF5
> >> >>> petsc4py.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 <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.
> >> >
> >> >   THanks,
> >> >
> >> >     Matt
> >> >
> >> >>
> >> >> I have petsc4py 3.16 from this docker container (list of 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/ <https://www.cse.buffalo.edu/~knepley/>
> >
> >
> >
> > --
> > 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/ <https://www.cse.buffalo.edu/~knepley/>
> 
> 
> -- 
> 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/>
> <image003.jpg>

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


More information about the petsc-users mailing list