Statistics
| Branch: | Revision:

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

History | View | Annotate | Download (2.7 kB)

1
      Subroutine report( title, me, npes, nrpt, ncases, n, tn, ops,
2
     &                   first, last )
3
! ----------------------------------------------------------------------
4
      Use             numerics
5
      Use             max_params
6
      Implicit        None
7
      Include         'mpif.h'
8

    
9
      Character*50 :: title
10
      Real(l_)     :: Xi_t, tmin, tave, tmax
11
      Real(l_)     :: Xi_r, rmin, rminl, rave, ravel, rmax, rmaxl
12
      Real(l_)     :: tn(maxcases), ops
13
      Integer      :: nrpt, ncases
14
      Integer      :: me, npes, n
15
      Integer      :: comm, ie
16
      Logical      :: first, last
17
      Save            rminl, ravel, rmaxl
18
! ----------------------------------------------------------------------
19
         comm = MPI_Comm_World
20
         If ( me == 0 .AND. first ) Then
21
            Write(6,9010) title, npes, nrpt, ncases
22
            first = .FALSE.
23
         End If
24
         If ( ncases > 0 ) Then
25
            Call MPI_Barrier( comm, ie )
26
            Call stats_pe(  npes, ncases, tn, ops, Xi_t, tmin, tave,
27
     &                      tmax, Xi_r, rmin, rave, rmax )
28
            Call stats_agg( npes, ncases, tn, ops, Xi_t, tmin, tave,
29
     &                      tmax, Xi_r, rmin, rave, rmax )
30
            rminl = rmin
31
            ravel = rave
32
            rmaxl = rmax
33
            If ( me == 0 ) Then
34
               Write(6,9020) 8*n, Xi_t*1.0e6_l_, tmin*1.0e6_l_,
35
     &                            tave*1.0e6_l_, tmax*1.0e6_l_,
36
     &                            Xi_r*1.0e-6_l_, rmin*1.0e-6_l_,
37
     &                            rave*1.0e-6_l_, rmax*1.0e-6_l_
38
            End If
39
         End If
40
         If ( me == 0 .AND. last ) Then
41
            Write(6,9030) rminl*1.0e-6_l_, ravel*1.0e-6_l_,
42
     &                   rmaxl*1.0e-6_l_, 'Aggregate'
43
            last = .FALSE.
44
            first = .TRUE.
45
         End If
46
! ----------------------------------------------------------------------
47
 9010 Format(
48
     &      //' Communication: ', A
49
     &       /' Number of PEs:                ', I8
50
     &       /' Iteration count :             ', I8
51
     &       /' Number of cases:              ', I8 
52
     &      //'  Length', 2X, '          Time (Microsec.)     ',
53
     &                    2X, '            Rate (Mbyte/s)     '
54
     &       /'   Bytes', 2X, '  Std Dev    Min     Ave     Max',
55
     &                    2X, '  Std Dev    Min     Ave     Max'
56
     &       /1X, 75( '-' ) )
57

    
58
 9020 Format( I8, 2X, 4F8.1, 2X ,F8.1, 3F8.0 )
59
 9030 Format( /' RMIN:  ', F8.0, ' Mbyte/s'
60
     &        /' RAVE:  ', F8.0,
61
     &        /' RMAX:  ', F8.0,
62
     &       //' Statistics: ', A/ )            
63
! ----------------------------------------------------------------------
64
      End Subroutine report