[mpich-discuss] MPI_Get on the same memory location
Balaji, Pavan
balaji at anl.gov
Fri Aug 22 09:54:43 CDT 2014
Fantastic. Thanks.
— Pavan
On Aug 22, 2014, at 8:25 AM, Carsten Clauss <c.clauss at fz-juelich.de> wrote:
> MPI-3, Section 2.3, page 10: "Unless specified otherwise, an argument of type OUT or type INOUT cannot be aliased with any other argument passed to an MPI procedure."
>
> Cheers,
> Carsten
>
> On 08/22/2014 03:10 PM, Balaji, Pavan wrote:
>>
>> On Aug 22, 2014, at 7:59 AM, Balaji, Pavan <balaji at anl.gov> wrote:
>>
>>> On Aug 21, 2014, at 8:42 PM, Nick Radcliffe <nradclif at cray.com> wrote:
>>>
>>>>> If buffers overlap, use memmov and not memcpy:
>>>>
>>>> Good point, you would have to use memmov in general for overlapping source and target buffers. I was thinking of the special case where the source and target buffers are identical.
>>>>
>>>>> I don’t think so. It’s an incorrect program to get from a buffer to itself. MPICH is being helpful is catching this user error.
>>>>
>>>> Do you know where in the standard this is specified? I'm having trouble finding it.
>>>
>>> The parameter in PUT is a “const void *”. It’s read-only for MPI.
>>
>> It’s less clear for GET, but the standard says it’s equivalent to sending and receiving, which should imply overlapping buffers is invalid. Either way, I can’t imagine that not being the intention of the RMA working group (I’m a part of it).
>>
>> In MPI-2, this was not a problem at all since we couldn’t send data from the local public window to a remote public window (two simultaneous locks were not allowed; FENCE didn’t allow load/store and PUT/GET in the same epoch, etc.). In MPI-3 we allowed this, but forgot to make it clear that they shouldn’t overlap.
>>
>> We should try to make it clearer in the standard, though I don’t think it’s valid even in MPI-3.
>>
>> — Pavan
>>
>> --
>> Pavan Balaji ✉️
>> http://www.mcs.anl.gov/~balaji
>>
>> _______________________________________________
>> discuss mailing list discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
>>
>
> --
> Carsten Clauss
> www.par-tec.com
> _____________________________________
> ParTec Cluster Competence Center GmbH
>
> Possartstrasse 20
> D-81679 Muenchen
>
> Geschäftsführer RA. Dipl.-Ing. Bernhard Frohwitter Eingetragen beim
> Amtsgericht München HRB 151545 Steuer-Nr. 08/32305, Ust-ID DE235527064
> _______________________________________________
> discuss mailing list discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
--
Pavan Balaji ✉️
http://www.mcs.anl.gov/~balaji
More information about the discuss
mailing list