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 |