[mpich-discuss] (cont) question about mpi_win/mpi_put
Ted Sariyski
tsariysk at craft-tech.com
Thu May 29 09:24:49 CDT 2014
I figured it out. I used wrong base address. I have to use base instead
of offsets(1):
/call MPI_GET_ADDRESS(obj , base , ierr)/
/offsets = offsets - base/
Thanks,
--Ted
On 05/29/2014 09:40 AM, Ted Sariyski wrote:
> Hi,
>
> I have difficulties to implement mpi_win/mpi_put. What's strange is,
> that when a process N puts data on ROOT, ROOT gets most of the data
> correct, with few exceptions. Attached is a small example, which
> illustrates the problem and here is a short description.
>
> 1. There is an array BP(nBP) of type /DR_boundaryPoint_t = {integer,
> character*32,real(3),real}/.
> 2. MPI type /MPI_DR_boundaryPoint_t/ match DR_boundaryPoint_t//
> 3. ROOT opens a window /BP_win/ for /nBP/ elements of type
> /MPI_DR_boundaryPoint_t/
> 4. ONE puts /BP(3) to root:BP(3)/
>
> ROOT receives the real fields /dist/ and /ori/ correctly, but the
> integer field /bcTag/ is not updated, and the character field /bcName/
> is messed up.
>
> 0: bcTag= 0 dist= 0.9000E+01 bcName=TEST A ori= 0.6000E+01
> 0.9000E+01 0.1200E+02
> 1: bcTag= 99 dist= 0.9000E+01 bcName=TEST ori= 0.6000E+01
> 0.9000E+01 0.1200E+02
>
> I have no idea what I am doing wrong. Any help will be highly appreciated.
> Thanks in advance,
> --Ted
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20140529/68a89019/attachment.html>
More information about the discuss
mailing list