-/* Copyright (c) 2006-2021. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-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. */
#include <boost/property_tree/ptree.hpp>
#include <map>
#include <random>
-#include <simgrid/kernel/resource/NetworkModelIntf.hpp>
#include <simgrid/s4u.hpp>
#include <smpi/smpi.h>
namespace sg4 = simgrid::s4u;
std::mt19937& gen_;
public:
- DhistSampler(bool log, std::mt19937& gen, const std::vector<double>& b, const std::vector<double> h)
- : log_(log_), breaks_(b), heights_(h), gen_(gen)
+ DhistSampler(bool log, std::mt19937& gen, const std::vector<double>& b, const std::vector<double>& h)
+ : log_(log), breaks_(b), heights_(h), gen_(gen)
{
}
- double sample()
+ double sample() override
{
std::piecewise_constant_distribution<double> d(breaks_.begin(), breaks_.end(), heights_.begin());
auto value = d(gen_);
- if (log)
+ if (log_)
value = std::exp(value);
return value;
}
*
* @param latency_base The base latency for this calibration (user-defined)
* @param seg Segmentation (user-defined)
- * @param size Message size (simgrid)
+ * @param size Message size (SimGrid)
*/
static double latency_factor_cb(double latency_base, const SegmentedRegression& seg, double size,
const sg4::Host* /*src*/, const sg4::Host* /*dst*/,
*
* @param bw_base The base bandwidth for this calibration (user-defined)
* @param seg Segmentation (user-defined)
- * @param size Message size (simgrid)
+ * @param size Message size (SimGrid)
*/
static double bw_factor_cb(double bw_base, const SegmentedRegression& seg, double size, const sg4::Host* /*src*/,
const sg4::Host* /*dst*/, const std::vector<sg4::Link*>& /*links*/,
static std::mt19937 gen(42); // remove it from stack, since we need it after this this load_platform function is over
/* setting network factors callbacks */
- simgrid::kernel::resource::NetworkModelIntf* model = e.get_netzone_root()->get_network_model();
- SegmentedRegression seg = read_json_file("pingpong_dhist.json", gen, false);
- model->set_lat_factor_cb(std::bind(&latency_factor_cb, lat_base, seg, std::placeholders::_1, std::placeholders::_2,
- std::placeholders::_3, std::placeholders::_4, std::placeholders::_5));
+ auto* zone = e.get_netzone_root();
+ SegmentedRegression seg = read_json_file("pingpong_dhist.json", gen, false);
+ zone->set_latency_factor_cb(std::bind(&latency_factor_cb, lat_base, seg, std::placeholders::_1, std::placeholders::_2,
+ std::placeholders::_3, std::placeholders::_4, std::placeholders::_5));
- model->set_bw_factor_cb(std::bind(&bw_factor_cb, bw_base, seg, std::placeholders::_1, std::placeholders::_2,
- std::placeholders::_3, std::placeholders::_4, std::placeholders::_5));
+ zone->set_bandwidth_factor_cb(std::bind(&bw_factor_cb, bw_base, seg, std::placeholders::_1, std::placeholders::_2,
+ std::placeholders::_3, std::placeholders::_4, std::placeholders::_5));
seg = read_json_file("send_dhist.json", gen);
smpi_register_op_cost_callback(SmpiOperation::SEND, std::bind(&smpi_cost_cb, seg, std::placeholders::_1,
seg = read_json_file("recv_dhist.json", gen);
smpi_register_op_cost_callback(SmpiOperation::RECV, std::bind(&smpi_cost_cb, seg, std::placeholders::_1,
std::placeholders::_2, std::placeholders::_3));
-}
\ No newline at end of file
+}