X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/dc122c0fb3802061bc2fdb4abd50bf02a224cfdc..3907e83884bae6278656e9cd2cb7ef92a8f707fb:/src/smpi/include/smpi_host.hpp diff --git a/src/smpi/include/smpi_host.hpp b/src/smpi/include/smpi_host.hpp index 2b2d7a30eb..503df80ee0 100644 --- a/src/smpi/include/smpi_host.hpp +++ b/src/smpi/include/smpi_host.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2017-2021. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2017-2023. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -9,17 +9,20 @@ #include "smpi_utils.hpp" #include "simgrid/s4u/Host.hpp" +#include "src/kernel/resource/FactorSet.hpp" #include #include #include -namespace simgrid { -namespace smpi { - +namespace simgrid::smpi { +static auto factor_lambda(std::vector const& values, double size) +{ + return values[0] + values[1] * size; +} class Host { - std::vector orecv_parsed_values; - std::vector osend_parsed_values; - std::vector oisend_parsed_values; + kernel::resource::FactorSet orecv_{"smpi/or", 0.0, factor_lambda}; + kernel::resource::FactorSet osend_{"smpi/os", 0.0, factor_lambda}; + kernel::resource::FactorSet oisend_{"smpi/ois", 0.0, factor_lambda}; s4u::Host* host = nullptr; /** * @brief Generates warning message if user's config is conflicting (callback vs command line/xml) @@ -32,11 +35,10 @@ public: explicit Host(s4u::Host* ptr); - double orecv(size_t size, s4u::Host* src, s4u::Host* dst); - double osend(size_t size, s4u::Host* src, s4u::Host* dst); - double oisend(size_t size, s4u::Host* src, s4u::Host* dst); + double orecv(size_t size, s4u::Host* src, s4u::Host* dst) const; + double osend(size_t size, s4u::Host* src, s4u::Host* dst) const; + double oisend(size_t size, s4u::Host* src, s4u::Host* dst) const; }; -} -} +} // namespace simgrid::smpi #endif