namespace kernel {
namespace routing {
-void TorusZone::create_torus_links(int id, int rank, unsigned int position)
+void TorusZone::create_torus_links(int id, int rank, unsigned long position)
{
/* Create all links that exist in the torus. Each rank creates @a dimensions-1 links */
int dim_product = 1; // Needed to calculate the next neighbor_id
- for (unsigned int j = 0; j < dimensions_.size(); j++) {
+ for (unsigned long j = 0; j < dimensions_.size(); j++) {
int current_dimension = dimensions_[j]; // which dimension are we currently in?
// we need to iterate over all dimensions and create all links there
// The other node the link connects
}
}
-std::vector<unsigned int> TorusZone::parse_topo_parameters(const std::string& topo_parameters)
+std::vector<unsigned long> TorusZone::parse_topo_parameters(const std::string& topo_parameters)
{
std::vector<std::string> dimensions_str;
boost::split(dimensions_str, topo_parameters, boost::is_any_of(","));
- std::vector<unsigned int> dimensions;
+ std::vector<unsigned long> dimensions;
/* We are in a torus cluster
* Parse attribute dimensions="dim1,dim2,dim3,...,dimN" and save them into a vector.
return dimensions;
}
-void TorusZone::set_topology(const std::vector<unsigned int>& dimensions)
+void TorusZone::set_topology(const std::vector<unsigned long>& dimensions)
{
xbt_assert(not dimensions.empty(), "Torus dimensions cannot be empty");
dimensions_ = dimensions;
void TorusZone::get_local_route(const NetPoint* src, const NetPoint* dst, Route* route, double* lat)
{
- XBT_VERB("torus getLocalRoute from '%s'[%u] to '%s'[%u]", src->get_cname(), src->id(), dst->get_cname(), dst->id());
+ XBT_VERB("torus getLocalRoute from '%s'[%lu] to '%s'[%lu]", src->get_cname(), src->id(), dst->get_cname(), dst->id());
if (dst->is_router() || src->is_router())
return;
* linkOffset describes the offset where the link we want to use is stored(+1 is added because each node has a link
* from itself to itself, which can only be the case if src->m_id == dst->m_id -- see above for this special case)
*/
- unsigned int linkOffset = (dsize + 1) * src->id();
+ unsigned long linkOffset = (dsize + 1) * src->id();
bool use_lnk_up = false; // Is this link of the form "cur -> next" or "next -> cur"? false means: next -> cur
unsigned int current_node = src->id();
linkOffset = node_pos_with_loopback_limiter(next_node) + j;
use_lnk_up = false;
}
- XBT_DEBUG("torus_get_route_and_latency - current_node: %u, next_node: %u, linkOffset is %u", current_node,
+ XBT_DEBUG("torus_get_route_and_latency - current_node: %u, next_node: %u, linkOffset is %lu", current_node,
next_node, linkOffset);
break;
}
namespace s4u {
-NetZone* create_torus_zone(const std::string& name, const NetZone* parent, const std::vector<unsigned int>& dimensions,
+NetZone* create_torus_zone(const std::string& name, const NetZone* parent, const std::vector<unsigned long>& dimensions,
const ClusterCallbacks& set_callbacks, double bandwidth, double latency,
Link::SharingPolicy sharing_policy)
{