[mpich-discuss] Is there only one ADIOI_xxx_OpenColl

Ju JiaJia jujj603 at gmail.com
Tue Apr 24 03:57:59 CDT 2012


Hi all:
   I'm runing MPI app on two nodes with MPICH2. But without NFS, I copy the
app file in which calls MPI_File_open to open a file in the current dir to
the same location on all the nodes.
It failed in MPI_File_open when i run. I trace the code, It failed in
MPI_File_open--->ADIO_Open----->ADIOI_OpenColl. ADIOI_OpenColl is a pointer
to ADIOI_GEN_OpenColl.
in which one process opens to create the file, all others open, by turning
off ADIO_CREATE. So i understand why my app failed.

But in MPI_File_open, some comments like this:
    /* actual opens start here */
    /* generic open: one process opens to create the file, all others open
*/
    /* nfs open: everybody opens or else you'll end up with "file not found"
     * due to stupid nfs consistency semantics */
    /* scalable open: one process opens and broadcasts results to everyone
*/
    ADIOI_OpenColl(fd, rank, access_mode, error_code);

I searched all the source code and found  ADIOI_GEN_OpenColl only.
So where is the other two open methods which mean nfs open and scalable
open implemented?
Does it mean i can only run MPI app in which calls MPI_File_open when all
nodes can access the unique copy of the app file?

My Engllish is not good, i hope you can understand what i say.

Any explanation will be appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20120424/19976bc8/attachment.htm>


More information about the mpich-discuss mailing list