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

Quentin Chevalier quentin.chevalier at polytechnique.edu
Mon Dec 6 12:42:15 CST 2021


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
* 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



[image: cid:image003.jpg at 01D690CB.3B3FDC10]

Quentin CHEVALIER – IA parcours recherche

LadHyX - Ecole polytechnique

__________


On Mon, 6 Dec 2021 at 19:24, Matthew Knepley <knepley at gmail.com> wrote:

> On Mon, Dec 6, 2021 at 1:22 PM Quentin Chevalier <
> 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> wrote:
>> >
>> > On Mon, Dec 6, 2021 at 1:08 PM Quentin Chevalier <
>> 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>
>> wrote:
>> >> >
>> >> > 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, 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
>> >> >>> [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/
>> >
>> >
>> >
>> > --
>> > 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/
>>
>
>
> --
> 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/43b78e4e/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.jpg
Type: image/jpeg
Size: 2044 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211206/43b78e4e/attachment-0001.jpg>


More information about the petsc-users mailing list