Well, in the amber script as well as "advanced" pmemd, don't we make the
user tell us which mpi he is using? So what you suggest should sort of
work. Another possibility though, would be that once you know the mpi.h
header location, grep the header for MPI_VERSION of 2 and MPI_SUBVERSION of
1 (or whatever is required; MPI_IN_PLACE does exist going back to mpi 2.0,
but I think you said that the code does not have a problem with overlapping
the buffers if you don't use MPI_IN_PLACE). If this is something that is
maybe not required but works past some version of mpi, then you are good. I
would then have a define of the minimum version that works, say MPI_2_1, and
use -DMPI -DMPI_2_1 to control use of any mpi 2.1-specific features. IF
indeed this feature works back to MPI2.0 (MPI_IN_PLACE is in the 2.0 header
which I do happen to have, but with a comment expressing uncertainty of the
value to be used - reassuring, that), I would put the break in features on
the code at that level; might come in handy if / when we pick up more MPI2
features. This inplace stuff probably does allow for higher efficiency, I
am guessing, but protects the naive user who might not notice overlap in
buffers.
Regards - Bob
----- Original Message -----
From: "Ross Walker" <ross.rosswalker.co.uk>
To: "'AMBER Developers Mailing List'" <amber-developers.ambermd.org>
Sent: Wednesday, April 14, 2010 12:23 AM
Subject: RE: [AMBER-Developers] Issues with MPICH-1.2.1p1
>> Yeah, I understand your concerns; so are you leaning toward an
>> additional
>> MPI define, such that for mpich2, one would have -DMPI -DMPI2 in
>> config.h?
>> Seems the easiest thing to do to me, and least disruptive. So if this
>> is
>> really only needed for a GB finalization step, it is no big deal
>> indeed.
>
> This would be my preference. Then we just use MPI_IN_PLACE when -DMPI2 is
> defined - this could be used elsewhere in the code as well when sendbuf
> and
> recbuf are different. Same goes for Sander.
>
> However, I am not sure the best way to automate this in the main configure
> script which is what I am hoping some people here can comment on. Do we
> just
> want a grep for 'mpich2' - can anyone thing of a better / more generic way
> to do this - that would work for mvapich2 for example etc etc.
>
> All the best
> Ross
>
>
> /\
> \/
> |\oss Walker
>
> | Assistant Research Professor |
> | San Diego Supercomputer Center |
> | Tel: +1 858 822 0854 | EMail:- ross.rosswalker.co.uk |
> | http://www.rosswalker.co.uk | http://www.wmd-lab.org/ |
>
> Note: Electronic Mail is not secure, has no guarantee of delivery, may not
> be read every day, and should not be used for urgent or sensitive issues.
>
>
>
>
>
> _______________________________________________
> AMBER-Developers mailing list
> AMBER-Developers.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber-developers
>
>
_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Wed Apr 14 2010 - 06:30:02 PDT