Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Flush output of energy tests.
[simgrid.git] / examples / smpi / energy / f77 / sef.f
index 51a6ea2..4cbc5a3 100644 (file)
       double precision p, t, e
 
       call MPI_Init(ierr)
+      if (ierr .ne. MPI_SUCCESS) then
+         print *, 'MPI_Init failed:', ierr
+         stop 1
+      endif
       call MPI_Comm_rank(MPI_COMM_WORLD, rank, ierr)
+      if (ierr .ne. MPI_SUCCESS) then
+         print *, 'MPI_Comm_rank failed:', ierr
+         call MPI_Abort(MPI_COMM_WORLD, 1, ierr)
+         stop 1
+      endif
 
       pstates = smpi_get_host_nb_pstates()
 
       t = MPI_Wtime()
 
-      print *, '[', t, '] [rank ', rank, ']',
+      print '(1a,F15.8,1a,i2,1a,i2,1a)', '[', t, '] [rank ', rank, '] ',
      &     pstates, ' pstates available'
 
       do i = 0, pstates - 1
          p = smpi_get_host_power_peak_at(i)
-         print *, '[', t, '] [rank ', rank, '] Power: ', p
+         print '(1a,F15.8,1a,i2,1a,F15.4)', '[', t, '] [rank ',
+     &     rank, '] Power: ', p
       end do
 
       do i = 0, pstates - 1
-         call smpi_set_host_power_peak_at(i)
+         call smpi_set_host_pstate(i)
          t = MPI_Wtime()
          p = smpi_get_host_current_power_peak()
-         print *, '[', t, '] [rank ', rank, '] Current pstate: ', i,
-     &        '; Current power: ', p
+         print '(1a,F15.8,1a,i2,1a,i2,1a,F15.4)', '[', t, '] [rank ',
+     &         rank,'] Current pstate: ', i,'; Current power: ', p
 
          e = 1e9
          call smpi_execute_flops(e)
 
          t = MPI_Wtime()
          e = smpi_get_host_consumed_energy()
-         print *, '[', t, '] [rank ', rank, ']',
-     &        ' Energy consumed (Joules): ', e
+         print '(1a,F15.8,1a,i2,1a,1a,F15.4)', '[', t, '] [rank ',
+     &         rank, ']',' Energy consumed (Joules): ', e
       end do
 
+      flush(6)
+
       call MPI_Finalize(ierr)
+      if (ierr .ne. MPI_SUCCESS) then
+         print *, 'MPI_Finalize failed:', ierr
+         call MPI_Abort(MPI_COMM_WORLD, 1, ierr)
+         stop 1
+      endif
 
       end program main