[mpich-discuss] MPICH2 with MPI-1 code

Shouben Zhou Shouben.Zhou-1 at nasa.gov
Wed Apr 14 14:27:33 CDT 2010


I had same issue a while ago and rebuilt MPICH2

with "CPPFLAGS=-DNDEBUG" to disable assertions

solved the problem

--
Shouben Zhou
Science Systems and Applications Inc.(SSAI)
1 Enterprise Pkwy, Hampton, VA 23666
Tel: (757)951-1905  Fax: (757)951-1900
Email: Shouben.Zhou at nasa.gov



Mark Williamson wrote:
> Dear List,
>
> I have a query about MPICH2's behavior with MPI-1 code. We develop a 
> piece of molecular dynamics code called AMBER. In the lead up to the 
> next major release, we have been testing the MPI components of it with 
> various MPI implementations on the major Linux distributions. We noticed 
> that on the latest SUSE that some of the MPI test cases were failing.
>
> Looking closer into the fail, it pertained to this error message from a 
> recent MPICH2 release:
>
> Assertion failed in file helper_fns.c at line 335: 0
> memcpy argument memory ranges overlap, dst_=0x6e51a4 src_=0x6e51a0 len_=100
>
> Having researched this, it was related to an "Incorrect call to 
> MPI_Gatherv"; the root process aliased the send buffer and the receive 
> buffer alias to each other. This of course, can be resolved by using 
> MPI_IN_PLACE. Interestingly, mpich2-1.0.7, with which we had used in the 
> past, never complained about this.
>
> So, this brings me to my question. My understanding is that MPI_IN_PLACE 
> is a MPI-2 specific argument value. The piece of AMBER code that I refer 
> to in this discussion written within the a MPI-1 standard. As stated on 
> the MPICH2 home page, "MPICH2 is a high-performance and widely portable 
> implementation of the Message Passing Interface (MPI) standard (*BOTH* 
> MPI-1 and MPI-2)". If I use MPI_IN_PLACE, the code will not be MPI-1 
> standard, so how to I specific instruct MPICH2's mpif90 or mpirun that 
> one is using a MPI-1 code, hence avoiding this error?
>
> regards,
>
> Mark
>
>   


More information about the mpich-discuss mailing list