Commit 1859ec92 authored by Andreas Marek's avatar Andreas Marek

re-activate PAPI measurements

parent e58b90d4
......@@ -410,7 +410,7 @@ module elpa_impl
!> \result error integer, the error code
function elpa_setup(self) result(error)
class(elpa_impl_t), intent(inout) :: self
integer :: error, timings
integer :: error, timings, performance
#ifdef WITH_MPI
integer :: mpi_comm_parent, mpi_comm_rows, mpi_comm_cols, np_rows, np_cols, my_id, &
......@@ -424,9 +424,14 @@ module elpa_impl
#ifdef HAVE_DETAILED_TIMINGS
call self%get("timings",timings, error)
call self%get("measure_performance",performance, error)
print *,error
if (check_elpa_get(error, ELPA_ERROR_SETUP)) return
if (timings == 1) then
call self%timer%enable()
if (performance == 1) then
call self%timer%measure_flops(.true.)
endif
endif
#endif
......
......@@ -242,6 +242,7 @@ static const elpa_index_int_entry_t int_entries[] = {
BOOL_ENTRY("timings", "Enable time measurement", 0, ELPA_AUTOTUNE_NOT_TUNABLE, 0, PRINT_YES),
BOOL_ENTRY("debug", "Emit verbose debugging messages", 0, ELPA_AUTOTUNE_NOT_TUNABLE, 0, PRINT_YES),
BOOL_ENTRY("print_flops", "Print FLOP rates on task 0", 0, ELPA_AUTOTUNE_NOT_TUNABLE, 0, PRINT_YES),
BOOL_ENTRY("measure_performance", "Also measure with flops (via papi) with the timings", 0, ELPA_AUTOTUNE_NOT_TUNABLE, 0, PRINT_YES),
BOOL_ENTRY("check_pd", "Check eigenvalues to be positive", 0, ELPA_AUTOTUNE_NOT_TUNABLE, 0, PRINT_YES),
BOOL_ENTRY("cannon_for_generalized", "Whether to use Cannons algorithm for the generalized EVP", 1, ELPA_AUTOTUNE_NOT_TUNABLE, 0, PRINT_YES),
};
......
......@@ -64,6 +64,7 @@ module timings_dummy
procedure, pass :: enable => timer_enable
procedure, pass :: free => timer_free
procedure, pass :: print => timer_print
procedure, pass :: measure_flops => timer_measure_flops
end type
type(timer_dummy_t) :: timer
......@@ -95,6 +96,11 @@ module timings_dummy
end subroutine
subroutine timer_measure_flops(self, enable)
class(timer_dummy_t), intent(inout), target :: self
logical :: enable
end subroutine
subroutine timer_free(self)
class(timer_dummy_t), intent(inout), target :: self
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment