Hi Izaak,
On 10/13/2011 05:44 PM, Zaak Beekman wrote:
My apologies if I have asked this before, or if this info is available
in the documentation; I have searched through the online documentation
and cannot find the answer.
The documentation for H5Pset_fapl_mpio says:
' H5Pset_fapl_mpio stores the user-supplied MPI IO parameters comm,
for communicator, and info, for information, in the file access
property list fapl_id. That property list can then be used to create
and/or open a file.
H5Pset_fapl_mpio is available only in the parallel HDF5 library and is
not a collective function.
comm is the MPI communicator to be used for file open, as defined in
MPI_FILE_OPEN of MPI-2. This function makes a duplicate of the
communicator, so modifications to comm after this function call
returns have no effect on the file access property list.
...
If the file access property list already contains previously-set
communicator and Info values, those values will be replaced and the
old communicator and Info object will be freed.'
Does this mean that:
1) HDF5 now has a copy of the communicator passed to H5Pset_fapl_mpio
so that I am free to use the communicator I passed in for computations
without worrying about communication collisions?
yes.
2) If 'H5Pset_fapl_mpio...is not a collective function,' does that
mean it should only be called by one MPI rank?
no, you should call it on all processes with the same parameters (in
your case comm and info object).
Although it's not collective, but in your case, you should treat it as
collective (on the comm your are using)
3) If I want to open and work with multiple files simultaneously,
using the same or different communicators, then the only way to do
this is to create one file access property list per file
using H5Pset_fapl_mpio, right? One does this instead of reusing the
same file access property list (if the communicator is the same) or
placing another call to H5Pset_fapl_mpio and passing in the the old
property list, but the new communicator (if the communicator is
different), correct? (If I am reading the documentation correctly then
opening multiple files with the same access property list means that
they will all use the same communicator and messages may collide,
alternatively if one uses a new file-access-property list then each
open file has a unique communicator/communication context.)
If you want to change the communicator you opened the file with, you
need to reset it in the fapl then open the file with it; otherwise if
your communicator does not change, you can reuse the fapl.
Dimension scales:
4) Also, are there Fortran bindings for the high-level dimension
scales API? If not, one should be able to follow the specification
document to implement dimension scales using lower level HDF5 API
calls, right?
Elena answered this one :-)
Mohamad
Sorry to have so many questions, i just want to make sure that I am
understanding the semantics correctly.
Izaak Beekman
===================================
(301)244-9367
Princeton University Doctoral Candidate
Mechanical and Aerospace Engineering
[email protected] <mailto:[email protected]>
UMD-CP Visiting Graduate Student
Aerospace Engineering
[email protected] <mailto:[email protected]>
[email protected] <mailto:[email protected]>
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org