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