Actually, I thought about this more.

There is a way to not break ABI, but still adhere to MPI-3.

Let me go work up a patch and see if it's horrible; I think it will be a matter 
of reverting *some* of the code, but not *all* of it.



On Jan 28, 2014, at 5:35 PM, Jeff Squyres <jsquy...@cisco.com> wrote:

> It looks like Past Jeff was wrong: the removal of the choice buffers from the 
> non-ignore-TKR version of the Fortran mpi module (which is only used for 
> gfortran <=v4.8) *does* cause ABI breakage between 1.7.3 and 1.7.4.  
> 
> Per discussion on the telconf today, we decided that we're going to do this 
> anyway, because it's an MPI-3.0 conformance issue.
> 
> I've added the following to the README in the ABI section:
> 
> * A second bug was discovered after v1.7.3 was released that causes
>  ABI to be broken for gfortran users who are using the "mpi" Fortran
>  module.  In short, for versions of gfortran that do not support
>  "ignore TKR" functionality (i.e., gfortran <=v4.8), Open MPI was
>  providing interfaces for MPI subroutines with choice buffers (e.g.,
>  MPI_Send) in the Fortran mpi module.  The MPI-3.0 specification
>  expressly states not to do this.  To be consistent with MPI-3, Open
>  MPI v1.7.4 therefore removed all MPI interfaces with choice buffers
>  from the no-ignore-TKR version of the Fortran mpi module, even
>  though this breaks ABI between v1.7.3 and v1.7.4.  Affected users
>  should be able to recompile their MPI applications with v1.7.4 with
>  no changes.
> 
>  Other Fortran compilers that provide "ignore TKR" functionality are
>  not affected by this change.
> 
> -- 
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to: 
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

Reply via email to