[petsc-users] VecLoad hdf5

Josh L ysjosh.lo at gmail.com
Fri Dec 7 15:17:10 CST 2018


I call VecSetBlockSizes before VecSetSizes instead of after, then it is
working fine now.
It can run with any number of processor.
Is there any reason for this? I am using petsc/3.10 and Fortran.

Thanks,
Josh


Matthew Knepley <knepley at gmail.com> 於 2018年12月4日 週二 下午6:44寫道:

> We have example code that writes and loads from HDF5. If you can't modify
> that, send a simple
> sample code that fails.
>
>   Thanks,
>
>     Matt
>
> On Tue, Dec 4, 2018 at 5:53 PM Josh L via petsc-users <
> petsc-users at mcs.anl.gov> wrote:
>
>>
>>
>> Smith, Barry F. <bsmith at mcs.anl.gov> 於 2018年12月4日 週二 下午4:43寫道:
>>
>>>
>>>
>>> > On Dec 4, 2018, at 4:09 PM, Josh L <ysjosh.lo at gmail.com> wrote:
>>> >
>>> > I haven't figured out what causes it. I just use binaryopen instead of
>>> HDF5, and everything works fine.
>>>
>>>    Did you originally save the data into the file with HDF5 format?
>>>
>>
>> Yes, by
>>     Set Vec name, and block size
>>     PetscViewerHDF5Open(write)
>>     VecView(vec,viewer)
>>
>>
>> >
>>> >
>>> >
>>> > Josh L <ysjosh.lo at gmail.com> 於 2018年12月4日 週二 下午2:55寫道:
>>> > The first error comes from
>>> > PetscStackCallHDF5Return(group,H5Gcreate2,(file_id, groupName, 0,
>>> H5P_DEFAULT, H5P_DEFAULT));
>>> >  #000: H5G.c line 314 in H5Gcreate2(): unable to create group
>>> >     major: Symbol table
>>> >     minor: Unable to initialize object
>>> >
>>> >
>>> > Josh L <ysjosh.lo at gmail.com> 於 2018年12月4日 週二 下午2:38寫道:
>>> > I set the name of 2 vectors to be the same, but still get the same
>>> error.
>>> >
>>> >
>>> >
>>> > Josh L <ysjosh.lo at gmail.com> 於 2018年12月4日 週二 下午2:06寫道:
>>> > I just found out that I missed that note in VecLoad manual page, and I
>>> am trying it now.
>>> > Thanks.
>>> >
>>> >
>>> >
>>> > Smith, Barry F. <bsmith at mcs.anl.gov> 於 2018年12月4日 週二 下午2:00寫道:
>>> >
>>> >    Hmm, this is a guess. HDF5 files read in objects based on their
>>> names. Are you sure that the vector you saved and the vector you later try
>>> to read in have the same name? You can set the name of the loaded vector
>>> with PetscObjectSetName((PetscObject)nv,"name") after you create it to
>>> match the name you used to save the vector.
>>> >
>>> >    Barry
>>> >
>>> >
>>> > > On Dec 4, 2018, at 1:42 PM, Josh L via petsc-users <
>>> petsc-users at mcs.anl.gov> wrote:
>>> > >
>>> > > Hi,
>>> > >
>>> > > I have a vec.h5 that generated serially by
>>> > >   gv is a sequential vec
>>> > >  VecSetblockSize(gv,3)
>>> > >  PetscViewerHDF5Open(vec,h5,write)
>>> > >   VecView(gv)
>>> > >
>>> > > and I want to read in with different number of processor by
>>> > >   DMGetGlobalVector(dm,nv)
>>> > >   PetscViewerHDF5Open(write)
>>> > >   VecLoad(nv)
>>> > >
>>> > > nv has bs=3, and I have set bs for gv as 3.
>>> > >
>>> > > I get the following error. any hint to solve it ? thanks
>>> > >
>>> > > Error in HDF5 call H5Gcreate2() Status -1
>>> > >   #000: H5G.c line 314 in H5Gcreate2(): unable to create group
>>> > >     major: Symbol table
>>> > >     minor: Unable to initialize object
>>> > >   #001: H5Gint.c line 194 in H5G__create_named(): unable to create
>>> and link to group
>>> > >     major: Symbol table
>>> > >     minor: Unable to initialize object
>>> > >   #002: H5L.c line 1638 in H5L_link_object(): unable to create new
>>> link to object
>>> > >     major: Links
>>> > >     minor: Unable to initialize object
>>> > >   #003: H5L.c line 1882 in H5L_create_real(): can't insert link
>>> > >     major: Symbol table
>>> > >     minor: Unable to insert object
>>> > >   #004: H5Gtraverse.c line 861 in H5G_traverse(): internal path
>>> traversal failed
>>> > >     major: Symbol table
>>> > >     minor: Object not found
>>> > >   #005: H5Gtraverse.c line 641 in H5G_traverse_real(): traversal
>>> operator failed
>>> > >     major: Symbol table
>>> > >     minor: Callback failed
>>> > >   #006: H5L.c line 1685 in H5L_link_cb(): unable to create object
>>> > >     major: Object header
>>> > >     minor: Unable to initialize object
>>> > >   #007: H5O.c line 3016 in H5O_obj_create(): unable to open object
>>> > >     major: Object header
>>> > >     minor: Can't open object
>>> > >   #008: H5Goh.c line 268 in H5O_group_create(): unable to create
>>> group
>>> > >     major: Symbol table
>>> > >     minor: Unable to initialize object
>>> > >   #009: H5Gint.c line 245 in H5G__create(): unable to create group
>>> object header
>>> > >     major: Symbol table
>>> > >     minor: Unable to initialize object
>>> > >   #010: H5Gobj.c line 163 in H5G__obj_create(): unable to create
>>> group
>>> > >     major: Symbol table
>>> > >     minor: Unable to create file
>>> > >   #011: H5Gobj.c line 206 in H5G__obj_create_real(): no write intent
>>> on file
>>> > >     major: Object cache
>>> > >     minor: Bad value
>>> > >
>>> > >
>>> > >
>>> >
>>>
>>>
>
> --
> 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/20181207/6f4301da/attachment.html>


More information about the petsc-users mailing list