X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5b3677b425b9cc6949c1573d59ac772540cbf4b2..8b12ed1d3b14dc595e2baf478ebe68c3f6c436e3:/examples/smpi/energy/f77/sef.f diff --git a/examples/smpi/energy/f77/sef.f b/examples/smpi/energy/f77/sef.f index 51a6ea277a..f8d96c3112 100644 --- a/examples/smpi/energy/f77/sef.f +++ b/examples/smpi/energy/f77/sef.f @@ -1,4 +1,4 @@ -! Copyright (c) 2013-2014. The SimGrid Team. +! Copyright (c) 2013-2019. The SimGrid Team. ! All rights reserved. ! This program is free software; you can redistribute it and/or modify it @@ -13,36 +13,53 @@ 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