From b453e96968bb4a1be17a7a3ec2f3c01356b60bf2 Mon Sep 17 00:00:00 2001 From: Augustin Degomme Date: Thu, 30 Jan 2020 16:26:13 +0100 Subject: [PATCH] add smpi_execute_flops_benched call --- include/smpi/smpi.h | 1 + src/smpi/bindings/smpi_f77.cpp | 4 ++++ src/smpi/include/private.hpp | 1 + src/smpi/internals/smpi_bench.cpp | 6 ++++++ 4 files changed, 12 insertions(+) diff --git a/include/smpi/smpi.h b/include/smpi/smpi.h index fc350a9aec..aa6d101507 100644 --- a/include/smpi/smpi.h +++ b/include/smpi/smpi.h @@ -980,6 +980,7 @@ XBT_PUBLIC void smpi_process_set_user_data(void*); XBT_PUBLIC void smpi_init_options(); XBT_PUBLIC void smpi_execute_flops(double flops); +XBT_PUBLIC void smpi_execute_flops_benched(double flops); XBT_PUBLIC void smpi_execute(double duration); XBT_PUBLIC void smpi_execute_benched(double duration); diff --git a/src/smpi/bindings/smpi_f77.cpp b/src/smpi/bindings/smpi_f77.cpp index 86e43b510d..dd7fd9a97e 100644 --- a/src/smpi/bindings/smpi_f77.cpp +++ b/src/smpi/bindings/smpi_f77.cpp @@ -983,6 +983,10 @@ void smpi_execute_flops_(double* flops){ smpi_execute_flops(*flops); } +void smpi_execute_flops_benched_(double* flops){ + smpi_execute_flops_benched(*flops); +} + void smpi_execute_(double* duration){ smpi_execute(*duration); } diff --git a/src/smpi/include/private.hpp b/src/smpi/include/private.hpp index 9f6c7d1ee4..b991c406da 100644 --- a/src/smpi/include/private.hpp +++ b/src/smpi/include/private.hpp @@ -462,6 +462,7 @@ void mpi_file_read_(int* fh, void* buf, int* count, int* datatype, MPI_Status* s void mpi_file_write_(int* fh, void* buf, int* count, int* datatype, MPI_Status* status, int* ierr); void smpi_init_fortran_types(); void smpi_execute_flops_(double* flops); +void smpi_execute_flops_benched_(double* flops); void smpi_execute_(double* duration); void smpi_execute_benched_(double* duration); } // extern "C" diff --git a/src/smpi/internals/smpi_bench.cpp b/src/smpi/internals/smpi_bench.cpp index 8f0c9b3495..6eb4ab17cb 100644 --- a/src/smpi/internals/smpi_bench.cpp +++ b/src/smpi/internals/smpi_bench.cpp @@ -82,6 +82,12 @@ void smpi_execute_benched(double duration) smpi_bench_begin(); } +void smpi_execute_flops_benched(double flops) { + smpi_bench_end(); + smpi_execute_flops(flops); + smpi_bench_begin(); +} + void smpi_bench_begin() { if (smpi_cfg_privatization() == SmpiPrivStrategies::MMAP) { -- 2.20.1