hdf5 application on Mac OS X

Hi,
    I am running HDF5 on mac OS 10.5. In my application, I get the following error from each process when a call is made to H5Fclose().
I have configured my code using

CC=mpicc ./configure --enable-parallel --enable-filters=all --enable-shared

I would appreciate any pointers.

Thanks,
Manav

MPI_FILE_SET_SIZE (line 73): **notsame
HDF5-DIAG: Error detected in HDF5 (1.8.1) MPI-process 1:
   #000: H5F.c line 2012 in H5Fclose(): decrementing file ID failed
     major: Object atom
     minor: Unable to close file
   #001: H5F.c line 1812 in H5F_close(): can't close file
     major: File accessability
     minor: Unable to close file
   #002: H5F.c line 1958 in H5F_try_close(): unable to flush cache
     major: Object cache
     minor: Unable to flush data from cache
   #003: H5F.c line 1744 in H5F_flush(): low level flush failed
     major: Low-level I/O
     minor: Write failed
   #004: H5FD.c line 2461 in H5FD_flush(): driver flush request failed
     major: Virtual File Layer
     minor: Unable to initialize object
   #005: H5FDmpio.c line 1910 in H5FD_mpio_flush(): MPI_File_set_size failed
     major: Internal error (too specific to document in detail)
     minor: Some MPI function failed
   #006: H5FDmpio.c line 1910 in H5FD_mpio_flush(): MPI_ERR_ARG: invalid argument of some other kind
     major: Internal error (too specific to document in detail)
     minor: MPI Error String
   #007: H5AC.c line 4587 in H5AC_propagate_flushed_and_still_clean_entries_list(): Can't receive and/or process clean slist broadcast.
     major: Object cache
     minor: Internal error detected
   #008: H5AC.c line 4732 in H5AC_receive_and_apply_clean_list(): Can't mark entries clean.
     major: Object cache
     minor: Internal error detected
   #009: H5C.c line 5001 in H5C_mark_entries_as_clean(): Listed entry not in cache?!?!?.
     major: Object cache
     minor: Internal error detected

Hi,
   I am running HDF5 on mac OS 10.5. In my application, I get the
following error from each process when a call is made to H5Fclose().
I have configured my code using

CC=mpicc ./configure --enable-parallel --enable-filters=all --
enable-shared

I would appreciate any pointers.

As an MPI-IO guy, I can decode some of this error, but it's rather
HDF5-wonky.

MPI_FILE_SET_SIZE (line 73): **notsame

MPI_FILE_SET_SIZE is a collective routine. The N processes that
opened the file all need to call MPI_FILE_SET_SIZE, and call it with
the same 'size' parameter:

http://www.mpi-forum.org/docs/mpi21-report-bw/node263.htm#Node263

HDF5-DIAG: Error detected in HDF5 (1.8.1) MPI-process 1:
  #000: H5F.c line 2012 in H5Fclose(): decrementing file ID failed
    major: Object atom
    minor: Unable to close file
  #001: H5F.c line 1812 in H5F_close(): can't close file
    major: File accessability
    minor: Unable to close file
  #002: H5F.c line 1958 in H5F_try_close(): unable to flush cache
    major: Object cache
    minor: Unable to flush data from cache
  #003: H5F.c line 1744 in H5F_flush(): low level flush failed
    major: Low-level I/O
    minor: Write failed
  #004: H5FD.c line 2461 in H5FD_flush(): driver flush request failed
    major: Virtual File Layer
    minor: Unable to initialize object
  #005: H5FDmpio.c line 1910 in H5FD_mpio_flush(): MPI_File_set_size
failed
    major: Internal error (too specific to document in detail)
    minor: Some MPI function failed
  #006: H5FDmpio.c line 1910 in H5FD_mpio_flush(): MPI_ERR_ARG: invalid
argument of some other kind
    major: Internal error (too specific to document in detail)
    minor: MPI Error String
  #007: H5AC.c line 4587 in
H5AC_propagate_flushed_and_still_clean_entries_list(): Can't receive
and/or process clean slist broadcast.
    major: Object cache
    minor: Internal error detected
  #008: H5AC.c line 4732 in H5AC_receive_and_apply_clean_list(): Can't
mark entries clean.
    major: Object cache
    minor: Internal error detected
  #009: H5C.c line 5001 in H5C_mark_entries_as_clean(): Listed entry not
in cache?!?!?.
    major: Object cache
    minor: Internal error detected

And now i'm totally no help... :> Some processes found an item in the
cache and others didn't.. those that did called MPI_FILE_SET_SIZE with
one value and those that did not called MPI_FILE_SET_SIZE with
something else? wild guess on my part...

==rob

···

On Tue, Dec 09, 2008 at 10:36:58AM -0500, Manav Bhatia wrote:

--
Rob Latham
Mathematics and Computer Science Division A215 0178 EA2D B059 8CDF
Argonne National Lab, IL USA B29D F333 664A 4280 315B

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.

Hi Manav,

···

On Dec 9, 2008, at 10:12 AM, Robert Latham wrote:

On Tue, Dec 09, 2008 at 10:36:58AM -0500, Manav Bhatia wrote:

Hi,
  I am running HDF5 on mac OS 10.5. In my application, I get the
following error from each process when a call is made to H5Fclose().
I have configured my code using

CC=mpicc ./configure --enable-parallel --enable-filters=all --
enable-shared

I would appreciate any pointers.

As an MPI-IO guy, I can decode some of this error, but it's rather
HDF5-wonky.

MPI_FILE_SET_SIZE (line 73): **notsame

MPI_FILE_SET_SIZE is a collective routine. The N processes that
opened the file all need to call MPI_FILE_SET_SIZE, and call it with
the same 'size' parameter:

http://www.mpi-forum.org/docs/mpi21-report-bw/node263.htm#Node263

HDF5-DIAG: Error detected in HDF5 (1.8.1) MPI-process 1:
#000: H5F.c line 2012 in H5Fclose(): decrementing file ID failed
   major: Object atom
   minor: Unable to close file
#001: H5F.c line 1812 in H5F_close(): can't close file
   major: File accessability
   minor: Unable to close file
#002: H5F.c line 1958 in H5F_try_close(): unable to flush cache
   major: Object cache
   minor: Unable to flush data from cache
#003: H5F.c line 1744 in H5F_flush(): low level flush failed
   major: Low-level I/O
   minor: Write failed
#004: H5FD.c line 2461 in H5FD_flush(): driver flush request failed
   major: Virtual File Layer
   minor: Unable to initialize object
#005: H5FDmpio.c line 1910 in H5FD_mpio_flush(): MPI_File_set_size
failed
   major: Internal error (too specific to document in detail)
   minor: Some MPI function failed
#006: H5FDmpio.c line 1910 in H5FD_mpio_flush(): MPI_ERR_ARG: invalid
argument of some other kind
   major: Internal error (too specific to document in detail)
   minor: MPI Error String
#007: H5AC.c line 4587 in
H5AC_propagate_flushed_and_still_clean_entries_list(): Can't receive
and/or process clean slist broadcast.
   major: Object cache
   minor: Internal error detected
#008: H5AC.c line 4732 in H5AC_receive_and_apply_clean_list(): Can't
mark entries clean.
   major: Object cache
   minor: Internal error detected
#009: H5C.c line 5001 in H5C_mark_entries_as_clean(): Listed entry not
in cache?!?!?.
   major: Object cache
   minor: Internal error detected

And now i'm totally no help... :> Some processes found an item in the
cache and others didn't.. those that did called MPI_FILE_SET_SIZE with
one value and those that did not called MPI_FILE_SET_SIZE with
something else? wild guess on my part...

  I agree with Rob here - it looks like you haven't performed the H5Fclose() (or maybe some other metadata operation) with identical parameters from all processes.

  Quincey

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.

Thanks.

When running on multiple processors, there is a vector that I write to the hdf file from the 0th processor. This I do by calling the "write" method from only the 0th processor since that is where the data exists.
Do you think this method should be called from all processors? If so, should all processors provide the same values for the dataset? or should the values be provided by only the 0th processor?

Thanks,
Manav

···

On Dec 9, 2008, at 11:19 AM, Quincey Koziol wrote:

Hi Manav,

On Dec 9, 2008, at 10:12 AM, Robert Latham wrote:

On Tue, Dec 09, 2008 at 10:36:58AM -0500, Manav Bhatia wrote:

Hi,
I am running HDF5 on mac OS 10.5. In my application, I get the
following error from each process when a call is made to H5Fclose().
I have configured my code using

CC=mpicc ./configure --enable-parallel --enable-filters=all --
enable-shared

I would appreciate any pointers.

As an MPI-IO guy, I can decode some of this error, but it's rather
HDF5-wonky.

MPI_FILE_SET_SIZE (line 73): **notsame

MPI_FILE_SET_SIZE is a collective routine. The N processes that
opened the file all need to call MPI_FILE_SET_SIZE, and call it with
the same 'size' parameter:

http://www.mpi-forum.org/docs/mpi21-report-bw/node263.htm#Node263

HDF5-DIAG: Error detected in HDF5 (1.8.1) MPI-process 1:
#000: H5F.c line 2012 in H5Fclose(): decrementing file ID failed
  major: Object atom
  minor: Unable to close file
#001: H5F.c line 1812 in H5F_close(): can't close file
  major: File accessability
  minor: Unable to close file
#002: H5F.c line 1958 in H5F_try_close(): unable to flush cache
  major: Object cache
  minor: Unable to flush data from cache
#003: H5F.c line 1744 in H5F_flush(): low level flush failed
  major: Low-level I/O
  minor: Write failed
#004: H5FD.c line 2461 in H5FD_flush(): driver flush request failed
  major: Virtual File Layer
  minor: Unable to initialize object
#005: H5FDmpio.c line 1910 in H5FD_mpio_flush(): MPI_File_set_size
failed
  major: Internal error (too specific to document in detail)
  minor: Some MPI function failed
#006: H5FDmpio.c line 1910 in H5FD_mpio_flush(): MPI_ERR_ARG: invalid
argument of some other kind
  major: Internal error (too specific to document in detail)
  minor: MPI Error String
#007: H5AC.c line 4587 in
H5AC_propagate_flushed_and_still_clean_entries_list(): Can't receive
and/or process clean slist broadcast.
  major: Object cache
  minor: Internal error detected
#008: H5AC.c line 4732 in H5AC_receive_and_apply_clean_list(): Can't
mark entries clean.
  major: Object cache
  minor: Internal error detected
#009: H5C.c line 5001 in H5C_mark_entries_as_clean(): Listed entry not
in cache?!?!?.
  major: Object cache
  minor: Internal error detected

And now i'm totally no help... :> Some processes found an item in the
cache and others didn't.. those that did called MPI_FILE_SET_SIZE with
one value and those that did not called MPI_FILE_SET_SIZE with
something else? wild guess on my part...

  I agree with Rob here - it looks like you haven't performed the H5Fclose() (or maybe some other metadata operation) with identical parameters from all processes.

  Quincey

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.

You could have rank 0 do the write as you do now, and have the
remaining N-1 processors write no data (I just learned about
H5Sselect_none a few months ago)

==rob

···

On Tue, Dec 09, 2008 at 12:19:57PM -0500, Manav Bhatia wrote:

Thanks.

When running on multiple processors, there is a vector that I write to
the hdf file from the 0th processor. This I do by calling the "write"
method from only the 0th processor since that is where the data exists.
Do you think this method should be called from all processors? If so,
should all processors provide the same values for the dataset? or should
the values be provided by only the 0th processor?

--
Rob Latham
Mathematics and Computer Science Division A215 0178 EA2D B059 8CDF
Argonne National Lab, IL USA B29D F333 664A 4280 315B

He can also do an independent write of the dataset elements. However, any metadata modifications (creating the dataset, etc) will need to be collective across all processes.

  Quincey

···

On Dec 9, 2008, at 11:45 AM, Robert Latham wrote:

On Tue, Dec 09, 2008 at 12:19:57PM -0500, Manav Bhatia wrote:

Thanks.

When running on multiple processors, there is a vector that I write to
the hdf file from the 0th processor. This I do by calling the "write"
method from only the 0th processor since that is where the data exists.
Do you think this method should be called from all processors? If so,
should all processors provide the same values for the dataset? or should
the values be provided by only the 0th processor?

You could have rank 0 do the write as you do now, and have the
remaining N-1 processors write no data (I just learned about
H5Sselect_none a few months ago)

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.

Greetings,

  It appears that the variable length PacketTable API is disabled in HDF5 1.8.2 build. I've done the due diligence and searched for a FAQ entry or source comments about this and could not find much. Could anyone comment about this?

Thank you,
Vlad

···

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.

Vlad,

The H5PTcreate_vl was never officially released. One can use VL datatype with the H5PTcreate_fl call to get the same functionality.

The source code for the function is still in the 1.8.2 distribution and can be enabled by defining H5_VLPT_ENABLED variable, but I would strongly encourage you to use H5PTcreate_fl since H5PTcreate_vl will be deleted from the source in the nearest future.

We found that H5PTcreate_vl entry was not removed from the officially released documentation and apologize for the mistake.

Please let me know if you need any help with PT APIs.

Thank you!

Elena

···

On Dec 11, 2008, at 12:12 PM, Demon Insight wrote:

Greetings,

  It appears that the variable length PacketTable API is disabled in HDF5 1.8.2 build. I've done the due diligence and searched for a FAQ entry or source comments about this and could not find much. Could anyone comment about this?

Thank you,
Vlad

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.