+/* Copyright (c) 2013-2015. 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 "network_smpi.hpp"
#include "simgrid/sg_config.h"
radical_elements2 = xbt_str_split(value, ":");
if (xbt_dynar_length(radical_elements2) != 2)
- xbt_die("Malformed radical for smpi factor!");
+ surf_parse_error("Malformed radical for smpi factor!");
fact.factor = atol(xbt_dynar_get_as(radical_elements2, 0, char *));
fact.value = atof(xbt_dynar_get_as(radical_elements2, 1, char *));
xbt_dynar_push_as(smpi_factor, s_smpi_factor_t, fact);
surf_network_model = new NetworkSmpiModel();
net_define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
- //network_solve = lmm_solve;
xbt_cfg_setdefault_double(_sg_cfg_set, "network/sender_gap", 10e-6);
xbt_cfg_setdefault_double(_sg_cfg_set, "network/weight_S", 8775);
}
}
-void NetworkSmpiModel::gapAppend(double size, const NetworkLinkLmmPtr link, NetworkActionLmmPtr action)
+void NetworkSmpiModel::gapAppend(double size, Link* link, NetworkAction *action)
{
- const char *src = link->m_name;
+ const char *src = link->getName();
xbt_fifo_t fifo;
- //surf_action_network_CM02_t last_action;
- //double bw;
if (sg_sender_gap > 0.0) {
if (!gap_lookup) {
}
}
-void NetworkSmpiModel::gapRemove(ActionLmmPtr lmm_action)
+void NetworkSmpiModel::gapRemove(Action *lmm_action)
{
xbt_fifo_t fifo;
size_t size;
- NetworkCm02ActionLmmPtr action = (NetworkCm02ActionLmmPtr)(lmm_action);
+ NetworkCm02Action *action = static_cast<NetworkCm02Action*>(lmm_action);
if (sg_sender_gap > 0.0 && action->p_senderLinkName
&& action->p_senderFifoItem) {
return current;
}
+
double NetworkSmpiModel::latencyFactor(double size)
{
if (!smpi_lat_factor)