How can Parallel HDF5 APIs be called (collectively, independently)?
Answer:
Here is a list of the APIs. See the end for how to interpret the numbers and letters associated with each API.
Collective Functions:
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)
These routines may be called independently, if the object will not be modified:
H5Aopen (10) (B)
H5Aopen_by_idx (10) (B)
H5Aopen_by_name (10) (B)
H5Aopen_idx (10)
H5Aopen_name (10)
H5Dopen/H5Dopen1/H5Dopen2 (10) (12)
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)
Additionally, these 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 the processes must participate only if this is the last
reference to the file ID.
(2) - All the processes must participate only if all the file IDs for
a file have been closed and this is the last outstanding object ID.
(3) - Because the raw data for an attribute is cached locally, all
processes must participate in order to guarantee that future
H5Aread calls return the correct results on all processes.
(4) - All processes must participate only if the datatype is for a
committed datatype, all the file IDs for the file have been closed
and this is the last outstanding object ID.
(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 ID 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
(12) - If modifying attributes, then these calls must be collective.
(A) - Available only in v1.6 or later versions of the library.
(B) - Available only in v1.8 or later versions of the library.
- - Last modified:May 16th 2011
