question about mpi_win/mpi_put
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
participants (1)
-
Ted Sariyski