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

Quentin Chevalier quentin.chevalier at polytechnique.edu
Tue Dec 7 02:54:46 CST 2021


Hello Matthew,

That would indeed make sense.

Full log is attached, I grepped hdf5 in there and didn't find anything
alarming.

Cheers,

Quentin




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

Quentin CHEVALIER – IA parcours recherche

LadHyX - Ecole polytechnique

__________


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

> On Mon, Dec 6, 2021 at 3:27 PM Quentin Chevalier <
> quentin.chevalier at polytechnique.edu> wrote:
>
>> Fine. MWE is unchanged :
>> * Run this docker container <https://hub.docker.com/r/dolfinx/dolfinx>
>> * Do : python3 -c "from petsc4py import PETSc;
>> PETSc.Viewer().createHDF5('dummy.h5')"
>>
>> Updated attempt at a fix :
>> * cd /usr/local/petsc/
>> * ./configure PETSC_ARCH= linux-gnu-real-32  PETSC_DIR=/usr/local/petsc
>> --with-hdf5 --force
>>
>
> Did it find HDF5? If not, it will shut it off. You need to send us
>
>   $PETSC_DIR/configure.log
>
> so we can see what happened in the configure run.
>
>   Thanks,
>
>       Matt
>
>
>> * make PETSC_DIR=/usr/local/petsc PETSC-ARCH= linux-gnu-real-32 all
>>
>> Still no joy. The same error remains.
>>
>> Quentin
>>
>>
>>
>> On Mon, 6 Dec 2021 at 20:04, Pierre Jolivet <pierre at joliv.et> wrote:
>> >
>> >
>> >
>> > 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
>> > * 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> 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/
>> >
>> > <image003.jpg>
>> >
>> >
>>
>
>
> --
> 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/20211207/9e0af56e/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/20211207/9e0af56e/attachment-0001.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: configure.log
Type: text/x-log
Size: 4890722 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211207/9e0af56e/attachment-0001.bin>


More information about the petsc-users mailing list