Commit d11b9210 authored by Nikhil's avatar Nikhil

Add conf and test for express mesh / hypreX

Change-Id: I76964aaba47b4890dbac7f3de7803df796f4f2bb
parent 6ad222a7
......@@ -31,6 +31,7 @@ TESTS += tests/lp-io-test.sh \
tests/modelnet-test-torus.sh \
tests/modelnet-test-loggp.sh \
tests/modelnet-test-dragonfly.sh \
tests/modelnet-test-em.sh \
tests/modelnet-test-slimfly.sh \
tests/modelnet-test-dragonfly-synthetic.sh \
tests/modelnet-test-dragonfly-custom-synthetic.sh \
......@@ -66,6 +67,7 @@ EXTRA_DIST += tests/download-traces.sh \
tests/modelnet-test-dragonfly-traces.sh \
tests/modelnet-test-dragonfly-custom-synthetic.sh \
tests/modelnet-test-dragonfly-custom-traces.sh \
tests/modelnet-test-em.sh \
tests/modelnet-test-fattree-synthetic.sh \
tests/modelnet-test-slimfly.sh \
tests/modelnet-test-slimfly-synthetic.sh \
......
LPGROUPS
{
MODELNET_GRP
{
repetitions="64";
server="3";
modelnet_express_mesh="3";
modelnet_express_mesh_router="1";
}
}
PARAMS
{
message_size="512";
packet_size="4096";
chunk_size="4096";
modelnet_order=( "express_mesh", "express_mesh_router" );
#modelnet_scheduler="fcfs";
modelnet_scheduler="round-robin";
n_dims="3";
dim_length="4,4,4";
gap="1";
num_cn="3";
num_vcs="1";
link_bandwidth="12.5";
cn_bandwidth="12.5";
vc_size="65536";
cn_vc_size="65536";
routing="static";
soft_delay="0";
router_delay="90";
}
#!/bin/bash
tests/modelnet-test --sync=1 -- tests/conf/modelnet-test-em.conf
......@@ -187,8 +187,14 @@ int main(
{
strcpy(router_name, "slimfly_router");
}
if(net_id == EXPRESS_MESH)
{
strcpy(router_name, "modelnet_express_mesh_router");
}
if(net_id == SLIMFLY || net_id == DRAGONFLY)
if(net_id == SLIMFLY || net_id == DRAGONFLY || net_id == EXPRESS_MESH)
{
num_routers = codes_mapping_get_lp_count("MODELNET_GRP", 0,
router_name, NULL, 1);
......@@ -356,11 +362,8 @@ static void handle_kickoff_event(
int opt_offset = 0;
int total_lps = num_servers * 2 + num_routers;
if(net_id == DRAGONFLY && (lp->gid % lps_per_rep == num_servers_per_rep - 1))
opt_offset = num_servers_per_rep + num_routers_per_rep; /* optional offset due to dragonfly mapping */
if(net_id == SLIMFLY && (lp->gid % lps_per_rep == num_servers_per_rep -1))
opt_offset = num_servers_per_rep + num_routers_per_rep;
if((net_id == DRAGONFLY || net_id == SLIMFLY || net_id == EXPRESS_MESH) && (lp->gid % lps_per_rep == num_servers_per_rep - 1))
opt_offset = num_servers_per_rep + num_routers_per_rep;
/* each server sends a request to the next highest server */
int dest_id = (lp->gid + offset + opt_offset)%total_lps;
......@@ -451,12 +454,9 @@ static void handle_ack_event(
// printf("\n m->src %d lp->gid %d ", m->src, lp->gid);
int opt_offset = 0;
if(net_id == DRAGONFLY && (lp->gid % lps_per_rep == num_servers_per_rep - 1))
if((net_id == DRAGONFLY || net_id == SLIMFLY || net_id == EXPRESS_MESH) && (lp->gid % lps_per_rep == num_servers_per_rep - 1))
opt_offset = num_servers_per_rep + num_routers_per_rep; /* optional offset due to dragonfly mapping */
if(net_id == SLIMFLY && (lp->gid % lps_per_rep == num_servers_per_rep -1))
opt_offset = num_servers_per_rep + num_routers_per_rep;
tw_lpid dest_id = (lp->gid + offset + opt_offset)%(num_servers*2 + num_routers);
/* in the "pull" case, src should actually be self */
......@@ -512,12 +512,9 @@ static void handle_req_event(
// printf("\n m->src %d lp->gid %d ", m->src, lp->gid);
int opt_offset = 0;
if(net_id == DRAGONFLY && (m->src % lps_per_rep == num_servers_per_rep - 1))
if((net_id == DRAGONFLY || net_id == SLIMFLY || net_id == EXPRESS_MESH) && (m->src % lps_per_rep == num_servers_per_rep - 1))
opt_offset = num_servers_per_rep + num_routers_per_rep; /* optional offset due to dragonfly mapping */
if(net_id == SLIMFLY && (m->src % lps_per_rep == num_servers_per_rep -1))
opt_offset = num_servers_per_rep + num_routers_per_rep;
assert(lp->gid == (m->src + offset + opt_offset)%(num_servers*2 + num_routers));
ns->msg_recvd_count++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment