I think the '5' in the HP5set_fapl_core means to allocate only 5 more
bytes each time it needs to allocate. I think that is too small and
maybe a problem since its an odd number and not a power of 2.
Although I would not necessarily expect that to have failed in the way
you are seeing either.
Try '5<<20' instead of '5'
Other than that, I don't see anything wrong with what your are doing.
Except that maybe allocating the 30 gigabyte buffer in HDF5 to read your
file into core is failing due to too large a request. I guess that is
possible. To see if that is happening, if your HDF5 installation was
compiled with tracing/debugging features turned on, then try setting
HDF5_DEBUG=all in your enviornment where you are running your
application.
Mark
On Wed, 2010-03-03 at 09:07, Thorben Kröger wrote:
> > > On Wednesday 03 March 2010 16:47:20 Mark Miller wrote:
> > > > Hello Thorben,
>
> > > > However, did you in fact try using HDF5-1.8.4
> > > > and reading the file with the CORE vfd (H5Pset_fapl_core)
>
> instead of opening my file like this:
>
> hdf5geometryFile_ = H5Fopen(filename.c_str(), H5F_ACC_RDONLY, H5P_DEFAULT);
>
> I am now doing this:
>
> hid_t fapl = H5Pcreate(H5P_FILE_ACCESS);
> if(fapl < 0) {throw std::runtime_error("fapl < 0");}
> hid_t ret = H5Pset_fapl_core(fapl, 5/*MB?*/, 0 /*no backing store*/);
> if(ret < 0) {throw std::runtime_error("could not create fapl core");}
> hdf5geometryFile_ = H5Fopen(filename.c_str(), H5F_ACC_RDONLY, fapl);
>
> But using the second way, it cannot open any of my datasets:
>
> HDF5-DIAG: Error detected in HDF5 (1.8.4) thread 0:
> #000: H5D.c line 321 in H5Dopen2(): not found
> major: Dataset
> minor: Object not found
> #001: H5Gloc.c line 468 in H5G_loc_find(): can't find object
> major: Symbol table
> minor: Object not found
> #002: H5Gtraverse.c line 877 in H5G_traverse(): internal path traversal
> failed
> major: Symbol table
> minor: Object not found
> #003: H5Gtraverse.c line 665 in H5G_traverse_real(): can't look up component
> major: Symbol table
> minor: Object not found
> #004: H5Gobj.c line 1047 in H5G_obj_lookup(): can't locate object
> major: Symbol table
> minor: Object not found
> #005: H5Gstab.c line 860 in H5G_stab_lookup(): not found
> major: Symbol table
> minor: Object not found
> #006: H5B.c line 360 in H5B_find(): can't lookup key in leaf node
> major: B-Tree node
> minor: Object not found
> #007: H5Gnode.c line 522 in H5G_node_found(): unable to protect symbol
> table
> node
> major: Symbol table
> minor: Unable to load metadata into cache
> #008: H5AC.c line 1831 in H5AC_protect(): H5C_protect() failed.
> major: Object cache
> minor: Unable to protect metadata
> #009: H5C.c line 6160 in H5C_protect(): can't load entry
> major: Object cache
> minor: Unable to load metadata into cache
> #010: H5C.c line 10990 in H5C_load_entry(): unable to load entry
> major: Object cache
> minor: Unable to load metadata into cache
> #011: H5Gcache.c line 176 in H5G_node_load(): bad symbol table node
> signature
> major: Symbol table
> minor: Unable to load metadata into cache
>
> I'm at a loss now, what am I doing wrong here?
>
> Cheers,
> Thorben
>
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> [email protected]
> http://*mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
--
Mark C. Miller, Lawrence Livermore National Laboratory
================!!LLNL BUSINESS ONLY!!================
[email protected] urgent: [email protected]
T:8-6 (925)-423-5901 M/W/Th:7-12,2-7 (530)-753-851
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org