Statistics
| Branch: | Revision:

root / synthbench / euroben-dm / mod2f / .svn / text-base / cntdpls.f.svn-base @ 0:839f52ef7657

History | View | Annotate | Download (980 Bytes)

1 0:839f52ef7657 louridas
      Subroutine cntdpls( scnts, sdpls, rcnts, rdpls )
2 0:839f52ef7657 louridas
! --------------------------------------------------------------------
3 0:839f52ef7657 louridas
! --- Fills the arrays describing the various sizes of the blocks
4 0:839f52ef7657 louridas
!     that are sent through alltoallv and reordered afterwards.
5 0:839f52ef7657 louridas
! --------------------------------------------------------------------
6 0:839f52ef7657 louridas
      Use        mpi_module ! Contains #procs and sizes
7 0:839f52ef7657 louridas
      Implicit   None
8 0:839f52ef7657 louridas
9 0:839f52ef7657 louridas
      Integer :: scnts(0:nodes-1), sdpls(0:nodes-1),
10 0:839f52ef7657 louridas
     &           rcnts(0:nodes-1), rdpls(0:nodes-1)
11 0:839f52ef7657 louridas
12 0:839f52ef7657 louridas
      Integer :: k
13 0:839f52ef7657 louridas
! --------------------------------------------------------------------
14 0:839f52ef7657 louridas
      scnts = sizes(me,2)*sizes(:,1)
15 0:839f52ef7657 louridas
      sdpls(0) = 0
16 0:839f52ef7657 louridas
      Do k = 1, nodes - 1
17 0:839f52ef7657 louridas
         sdpls(k) = sdpls(k-1) + scnts(k-1)
18 0:839f52ef7657 louridas
      End Do
19 0:839f52ef7657 louridas
      rcnts = sizes(me,1)*sizes(:,2)
20 0:839f52ef7657 louridas
      rdpls(0) = 0
21 0:839f52ef7657 louridas
      Do k = 1, nodes - 1
22 0:839f52ef7657 louridas
         rdpls(k) = rdpls(k-1) + rcnts(k-1)
23 0:839f52ef7657 louridas
      End Do
24 0:839f52ef7657 louridas
! --------------------------------------------------------------------
25 0:839f52ef7657 louridas
      End Subroutine cntdpls