root / synthbench / euroben-dm / mod2g / cntdpls.f @ 0:839f52ef7657
History | View | Annotate | Download (1023 Bytes)
1 |
Subroutine cntdpls( sizes, scnts, sdpls, rcnts, rdpls ) |
---|---|
2 |
! -------------------------------------------------------------------- |
3 |
! --- Fills the arrays describing the various sizes of the blocks |
4 |
! that are sent trough alltoallv and reordered afterwards. |
5 |
! -------------------------------------------------------------------- |
6 |
Use dist_module ! Contains #procs and no.s |
7 |
Implicit None |
8 |
|
9 |
Integer :: sizes(0:nodes-1,2), |
10 |
& scnts(0:nodes-1), sdpls(0:nodes-1), |
11 |
& rcnts(0:nodes-1), rdpls(0:nodes-1) |
12 |
|
13 |
Integer :: k |
14 |
! -------------------------------------------------------------------- |
15 |
scnts = sizes(me,2)*sizes(:,1) |
16 |
sdpls(0) = 0 |
17 |
Do k = 1, nodes - 1 |
18 |
sdpls(k) = sdpls(k-1) + scnts(k-1) |
19 |
End Do |
20 |
rcnts = sizes(me,1)*sizes(:,2) |
21 |
rdpls(0) = 0 |
22 |
Do k = 1, nodes - 1 |
23 |
rdpls(k) = rdpls(k-1) + rcnts(k-1) |
24 |
End Do |
25 |
! -------------------------------------------------------------------- |
26 |
End Subroutine cntdpls |