- namespace surf {
-
- NetworkSmpiModel::NetworkSmpiModel() : NetworkCm02Model()
- {
- haveGap_ = true;
- }
-
- NetworkSmpiModel::~NetworkSmpiModel()
- {
- xbt_dict_free(&gap_lookup);
- }
-
- double NetworkSmpiModel::bandwidthFactor(double size)
- {
- if (smpi_bw_factor.empty())
- smpi_bw_factor = parse_factor(xbt_cfg_get_string("smpi/bw-factor"));
-
- double current = 1.0;
- for (const auto& fact : smpi_bw_factor) {
- if (size <= fact.factor) {
- XBT_DEBUG("%f <= %zu return %f", size, fact.factor, current);
- return current;
- } else
- current = fact.values.front();
- }
- XBT_DEBUG("%f > %zu return %f", size, smpi_bw_factor.back().factor, current);