Statistics
| Branch: | Revision:

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

History | View | Annotate | Download (1 kB)

1
      Subroutine evdist( n )
2
! ---------------------------------------------------------------------
3
! --- Routine 'evdist' distributes 'n' elements as evenly as possible
4
!     over 'nodes' processors. The actual number of elements per
5
!     processor are returned in array 'sizes'.
6
! ---------------------------------------------------------------------
7
! --- Input:  - Integer n
8
!             - Integer nodes             (via Module dist_module).
9
! --- Output: - Integer sizes(0:maxnod-1) (via Module dist_module).
10
! ---------------------------------------------------------------------
11
      Use        dist_module
12
      Integer :: n
13

    
14
      Integer :: i, non, nrest, rest
15
! ---------------------------------------------------------------------
16
      non   = n/nodes
17
      rest  = Mod( n, nodes )
18
      nrest = nodes - rest - 1
19
      Do i = 0, nodes - 1
20
         sizes(i) = non
21
         If ( i > nrest ) sizes(i) = non + 1
22
      End Do
23
! ---------------------------------------------------------------------
24
      End Subroutine evdist