Jeff Squyres a écrit :
On Sep 17, 2010, at 6:36 AM, Pascal Deveze wrote:

  
In charge of ticket 1888 (see at https://svn.open-mpi.org/trac/ompi/ticket/1888) ,
I have put the resulting code in bitbucket at:
http://bitbucket.org/devezep/new-romio-for-openmpi/
    

Sweet!

  
The work in this repo consisted in refreshing ROMIO to a newer
version: the one from the very last MPICH2 release (mpich2-1.3b1).
    

Great!  I saw there was another MPICH2 release, and I saw a ROMIO patch or three go by on the MPICH list recently.  Do you expect there to be major differences between what you have and those changes?

  
I also see this new release (mpich2-1.3rc1). I am going to report the modifications and inform the list.
I don't have any parallel filesystems to test with, but if someone else in the community could confirm/verify at least one or two of the parallel filesystems supported in ROMIO, I think we should bring this stuff into the trunk soon.

  
Testing:
1. runs fine except one minor error (see the explanation below) on various FS.
2. runs fine with Lustre, but:
   . had to add a small patch in romio/adio/ad_lustre_open.c
    

Did this patch get pushed upstream?

  
This patch has been integrated yesterday in mpich2-1.3rc1 with another patch in romio/adio/common/lock.c. They will be available very soon in bitbucket.

  
======== The minor error ===================
The test error.c fails because OpenMPI does not handle correctly the
"two level" error functions of ROMIO:
  error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE,
                                      myname, __LINE__, MPI_ERR_ARG,
                                      "**iobaddisp", 0);
OpenMPI limits its view to MPI_ERR_ARG, but the real error is "**iobaddisp".
    

Do you mean that we should be returning an error string "**iobaddisp" instead of "MPI_ERR_ARG"?

  
In MPICH2, they have a file mpi/errhan/errnames.txt that will generate mpi/errhan/errnames.h making the links between codes
like "**iobaddisp" and the corresponding error string "Invalid displacement argument".
The error.c program tests the presence of "displacement" in the error string.

With OpenMPI ,the error message is:
" MPI_ERR_ARG: invalid argument of some other kind"

With MPICH2 , the error message is :
"Invalid argument, error stack:
MPI_FILE_SET_VIEW(60): Invalid displacement argument"

It would be better if OpenMPI displays at least the "Invalid displacement argument" message.
This is not a new problem in OpenMPI, it was also the case in the trunk.