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.
- There is an array BP(nBP) of type DR_boundaryPoint_t =
{integer, character*32,real(3),real}.
- MPI type MPI_DR_boundaryPoint_t match
DR_boundaryPoint_t
- ROOT opens a window BP_win for nBP elements of
type MPI_DR_boundaryPoint_t
- 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