HDF5 documents and links 
Introduction to HDF5 
HDF5 User Guide 
And in this document, the HDF5 Reference Manual 
H5DS   H5IM   H5LT   H5PT   H5TB 
H5   H5A   H5D   H5E   H5F   H5G   H5I 
H5L   H5O   H5P   H5R   H5S   H5T   H5Z 
Tools   Datatypes   Fortran   Compatibility Macros 
Collective Calls in Parallel 

(Printable PDF of this Reference Manual) 

Collective Calling Requirements
in Parallel HDF5 Applications

Introduction

This is the initial sketch of a document addressing two major topics:

The notes referenced in parantheses with many function names follow the lists of functions and properties.

Always collective

The following functions must always be called collectively.
    H5Aclose (2)
    H5Acreate/H5Acreate1/H5Acreate2 (6) (10)
    H5Acreate_by_name (6) (10) (B)
    H5Adelete
    H5Adelete_by_idx (B)
    H5Adelete_by_name (B)
    H5Arename (A)
    H5Arename_by_name (B)
    H5Awrite (3)

    H5Dclose (2)
    H5Dcreate/H5Dcreate1/H5Dcreate2 (6) (10)
    H5Dcreate_anon (6) (10) (B)
    H5Dextend (5) (11)
    H5Dset_extent (5) (11) (A)

    H5Fclose (1)
    H5Fcreate (9) (10)
    H5Fflush
    H5Fmount
    H5Fopen (10)
    H5Freopen
    H5Funmount

    H5Gclose (2)
    H5Gcreate/H5Gcreate1/H5Gcreate2 (9) (10)
    H5Gcreate_anon (9) (10) (B)
    H5Glink
    H5Glink2 (A)
    H5Gmove
    H5Gmove2 (A)
    H5Gset_comment
    H5Gunlink

    H5Idec_ref (7) (A)
    H5Iinc_ref (7) (A)

    H5Lcopy (B)
    H5Lcreate_external (9) (B)
    H5Lcreate_hard (9) (B)
    H5Lcreate_soft (9) (B)
    H5Lcreate_ud (9) (B)
    H5Ldelete (B)
    H5Ldelete_by_idx (B)
    H5Lmove (B)

    H5Oclose (2) (B)
    H5Ocopy (B)
    H5Odecr_refcount (B)
    H5Oincr_refcount (B)
    H5Olink (B)
    H5Oset_comment (B)
    H5Oset_comment_by_name (B)

    H5Rcreate

    H5Tclose (4)
    H5Tcommit/H5Tcommit1/H5Tcommit2 (9) (10)
    H5Tcommit_anon (9) (10) (B)
    

Collective, unless target object will not be modified

The following functions must normally be called collectively. If, however, the target object will not be modified, they may be called independently.
    H5Aopen (10) (B)
    H5Aopen_by_idx (10) (B)
    H5Aopen_by_name (10) (B)
    H5Aopen_idx (10)
    H5Aopen_name (10)

    H5Dopen/H5Dopen1/H5Dopen2 (10)

    H5Gopen/H5Gopen1/H5Gopen2 (10)

    H5Iget_file_id (B)

    H5Oopen (10) (B)
    H5Oopen_by_addr (10) (B)
    H5Oopen_by_idx (10) (B)

    H5Rdereference

    H5Topen/H5Topen1/H5Topen2 (10)
    

Properties

The following properties must be set to the same values when they are used in a parallel program. Dataset creation properties:
    H5Pmodify_filter (B)
    H5Premove_filter (B)
    H5Pset_alloc_time
    H5Pset_chunk
    H5Pset_deflate
    H5Pset_external
    H5Pset_fill_time
    H5Pset_fill_value
    H5Pset_filter
    H5Pset_fletcher32 (B)
    H5Pset_layout
    H5Pset_nbit (B)
    H5Pset_shuffle
    H5Pset_szip
    
Dataset transfer properties:
    H5Pset_btree_ratios
    H5Pset_buffer
    H5Pset_dxpl_mpio
    H5Pset_hyper_cache
    H5Pset_preserve
    
File access properties:
    H5Pset_alignment
    H5Pset_cache
    H5Pset_fapl_mpio
    H5Pset_fclose_degree
    H5Pset_gc_references
    H5Pset_latest_format (B)
    H5Pset_libver_bounds (B)
    H5Pset_mdc_config (B)
    H5Pset_meta_block_size
    H5Pset_small_data_block_size
    H5Pset_sieve_buf_size
    
File creation properties:
    H5Pset_istore_k
    H5Pset_shared_mesg_index (B)
    H5Pset_shared_mesg_nindexes (B)
    H5Pset_shared_mesg_phase_change (B)
    H5Pset_sizes
    H5Pset_sym_k
    H5Pset_userblock
    
Group creation properties:
    H5Pset_est_link_info (B)
    H5Pset_link_creation_order (B)
    H5Pset_link_phase_change (B)
    H5Pset_local_heap_size_hint (B)
    
Link creation properties:
    H5Pset_char_encoding (B)
    H5Pset_create_intermediate_group (B)
    
Object creation properties:
    H5Pset_attr_phase_change (B)
    H5Pset_attr_creation_order (B)
    H5Pset_obj_track_times (B)
    
Object copy properties:
    H5Pset_copy_object (B)
    

Notes

(1)   All processes must participate only if this is the last reference to the file identifier.
(2)   All processes must participate only if all file identifiers for a file have been closed and this is the last outstanding object identifier.
(3)   Because raw data for an attribute is cached locally, all processes must participate in order to guarantee that future H5Aread calls return correct results on all processes.
(4)   All processes must participate only if the datatype is for a committed datatype, all the file identifiers for the file have been closed, and this is the last outstanding object identifier.
(5)   All processes must participate only if the number of chunks in the dataset actually changes.
(6)   All processes must use the same datatype, dataspace, and creation properties.
(7)   This function may be called independently if the object identifier does not refer to an object that was collectively opened.
(9)   All processes must use the same creation properties.
(10)   All processes must use the same access properties.
(11)   All processes must use the same dataspace dimensions
 
(A)
    
Available only in the HDF5 Release 1.6.x series or later versions of the library.
(B)   Available only in the HDF5 Release 1.8.x series or later versions of the library.

HDF5 documents and links 
Introduction to HDF5 
HDF5 User Guide 
And in this document, the HDF5 Reference Manual 
H5DS   H5IM   H5LT   H5PT   H5TB 
H5   H5A   H5D   H5E   H5F   H5G   H5I 
H5L   H5O   H5P   H5R   H5S   H5T   H5Z 
Tools   Datatypes   Fortran   Compatibility Macros 
Collective Calls in Parallel 

(Printable PDF of this Reference Manual) 

The HDF Group Help Desk:
Describes HDF5 Release 1.8.7, targeted for May 2011.