Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Xin Wang
codes-dev
Commits
47bbd8b0
Commit
47bbd8b0
authored
Feb 09, 2016
by
Misbah Mubarak
Browse files
Adding AMG 1728 config file, minor updates to dragonfly model
parent
171ca1a0
Changes
5
Show whitespace changes
Inline
Side-by-side
src/Makefile.subdir
View file @
47bbd8b0
...
@@ -148,6 +148,7 @@ src_libcodes_a_SOURCES = \
...
@@ -148,6 +148,7 @@ src_libcodes_a_SOURCES = \
src/network-workloads/model-net-mpi-wrklds.c
\
src/network-workloads/model-net-mpi-wrklds.c
\
src/network-workloads/model-net-mpi-replay.c
\
src/network-workloads/model-net-mpi-replay.c
\
src/network-workloads/model-net-synthetic.c
\
src/network-workloads/model-net-synthetic.c
\
src/network-workloads/read-dumpi-traces.c
\
src/network-workloads/model-net-dumpi-traces-dump.c
src/network-workloads/model-net-dumpi-traces-dump.c
...
@@ -169,6 +170,7 @@ bin_PROGRAMS += src/network-workloads/model-net-mpi-replay
...
@@ -169,6 +170,7 @@ bin_PROGRAMS += src/network-workloads/model-net-mpi-replay
bin_PROGRAMS
+=
src/network-workloads/model-net-mpi-wrklds
bin_PROGRAMS
+=
src/network-workloads/model-net-mpi-wrklds
bin_PROGRAMS
+=
src/network-workloads/model-net-dumpi-traces-dump
bin_PROGRAMS
+=
src/network-workloads/model-net-dumpi-traces-dump
bin_PROGRAMS
+=
src/network-workloads/model-net-synthetic
bin_PROGRAMS
+=
src/network-workloads/model-net-synthetic
bin_PROGRAMS
+=
src/network-workloads/read-dumpi-traces
src_workload_codes_workload_dump_SOURCES
=
\
src_workload_codes_workload_dump_SOURCES
=
\
...
@@ -179,6 +181,7 @@ src_network_workloads_model_net_mpi_replay_SOURCES = src/network-workloads/model
...
@@ -179,6 +181,7 @@ src_network_workloads_model_net_mpi_replay_SOURCES = src/network-workloads/model
src_network_workloads_model_net_mpi_wrklds_SOURCES
=
src/network-workloads/model-net-mpi-wrklds.c
src_network_workloads_model_net_mpi_wrklds_SOURCES
=
src/network-workloads/model-net-mpi-wrklds.c
src_network_workloads_model_net_synthetic_SOURCES
=
src/network-workloads/model-net-synthetic.c
src_network_workloads_model_net_synthetic_SOURCES
=
src/network-workloads/model-net-synthetic.c
src_network_workloads_model_net_dumpi_traces_dump_SOURCES
=
src/network-workloads/model-net-dumpi-traces-dump.c
src_network_workloads_model_net_dumpi_traces_dump_SOURCES
=
src/network-workloads/model-net-dumpi-traces-dump.c
src_network_workloads_read_dumpi_traces_SOURCES
=
src/network-workloads/read-dumpi-traces.c
#bin_PROGRAMS += src/network-workload/codes-nw-test
#bin_PROGRAMS += src/network-workload/codes-nw-test
...
...
src/network-workloads/conf/modelnet-mpi-test-dfly-amg-1728.conf
0 → 100644
View file @
47bbd8b0
LPGROUPS
{
MODELNET_GRP
{
repetitions
=
"510"
;
nw
-
lp
=
"5"
;
modelnet_dragonfly
=
"5"
;
modelnet_dragonfly_router
=
"1"
;
}
}
PARAMS
{
packet_size
=
"512"
;
modelnet_order
=(
"dragonfly"
,
"dragonfly_router"
);
# scheduler options
modelnet_scheduler
=
"fcfs"
;
chunk_size
=
"256"
;
# modelnet_scheduler="round-robin";
num_routers
=
"10"
;
local_vc_size
=
"16384"
;
global_vc_size
=
"32768"
;
cn_vc_size
=
"16384"
;
local_bandwidth
=
"5.25"
;
global_bandwidth
=
"4.7"
;
cn_bandwidth
=
"5.25"
;
message_size
=
"560"
;
routing
=
"minimal"
;
}
src/network-workloads/model-net-mpi-wrklds.c
View file @
47bbd8b0
...
@@ -1446,7 +1446,7 @@ int main( int argc, char** argv )
...
@@ -1446,7 +1446,7 @@ int main( int argc, char** argv )
model_net_register
();
model_net_register
();
net_ids
=
model_net_configure
(
&
num_nets
);
net_ids
=
model_net_configure
(
&
num_nets
);
assert
(
num_nets
==
1
);
//
assert(num_nets == 1);
net_id
=
*
net_ids
;
net_id
=
*
net_ids
;
free
(
net_ids
);
free
(
net_ids
);
...
...
src/networks/model-net/dragonfly.c
View file @
47bbd8b0
...
@@ -365,14 +365,14 @@ static int dragonfly_rank_hash_compare(
...
@@ -365,14 +365,14 @@ static int dragonfly_rank_hash_compare(
static
int
dragonfly_hash_func
(
void
*
k
,
int
table_size
)
static
int
dragonfly_hash_func
(
void
*
k
,
int
table_size
)
{
{
struct
dfly_hash_key
*
tmp
=
(
struct
dfly_hash_key
*
)
k
;
struct
dfly_hash_key
*
tmp
=
(
struct
dfly_hash_key
*
)
k
;
uint32_t
pc
=
0
,
pb
=
0
;
//
uint32_t pc = 0, pb = 0;
bj_hashlittle2
(
tmp
,
sizeof
(
*
tmp
),
&
pc
,
&
pb
);
//
bj_hashlittle2(tmp, sizeof(*tmp), &pc, &pb);
/*
uint64_t key = (~tmp->message_id) + (tmp->message_id << 18);
uint64_t
key
=
(
~
tmp
->
message_id
)
+
(
tmp
->
message_id
<<
18
);
key
=
key
*
21
;
key
=
key
*
21
;
key
=
~
key
^
(
tmp
->
sender_id
>>
4
);
key
=
~
key
^
(
tmp
->
sender_id
>>
4
);
key
=
key
*
tmp
->
sender_id
;
key
=
key
*
tmp
->
sender_id
;
return (int)(key & (table_size - 1));
*/
return
(
int
)(
key
&
(
table_size
-
1
));
return
(
int
)(
pc
%
(
table_size
-
1
));
//
return (int)(pc % (table_size - 1));
}
}
/* convert GiB/s and bytes to ns */
/* convert GiB/s and bytes to ns */
...
@@ -1366,7 +1366,7 @@ void packet_arrive_rc(terminal_state * s, tw_bf * bf, terminal_message * msg, tw
...
@@ -1366,7 +1366,7 @@ void packet_arrive_rc(terminal_state * s, tw_bf * bf, terminal_message * msg, tw
if
(
bf
->
c7
)
if
(
bf
->
c7
)
{
{
assert
(
!
hash_link
);
//
assert(!hash_link);
N_finished_msgs
--
;
N_finished_msgs
--
;
s
->
finished_msgs
--
;
s
->
finished_msgs
--
;
total_msg_sz
-=
msg
->
total_size
;
total_msg_sz
-=
msg
->
total_size
;
...
@@ -1386,14 +1386,14 @@ void packet_arrive_rc(terminal_state * s, tw_bf * bf, terminal_message * msg, tw
...
@@ -1386,14 +1386,14 @@ void packet_arrive_rc(terminal_state * s, tw_bf * bf, terminal_message * msg, tw
assert
(
tmp
);
assert
(
tmp
);
tmp
->
num_chunks
--
;
tmp
->
num_chunks
--
;
if
(
bf
->
c5
)
/*
if(bf->c5)
{
{
assert(hash_link);
assert(hash_link);
qhash_del(hash_link);
qhash_del(hash_link);
free(tmp->remote_event_data);
free(tmp->remote_event_data);
free(tmp);
free(tmp);
s->rank_tbl_pop--;
s->rank_tbl_pop--;
}
}
*/
return
;
return
;
}
}
void
send_remote_event
(
terminal_state
*
s
,
terminal_message
*
msg
,
tw_lp
*
lp
,
tw_bf
*
bf
,
char
*
event_data
,
int
remote_event_size
)
void
send_remote_event
(
terminal_state
*
s
,
terminal_message
*
msg
,
tw_lp
*
lp
,
tw_bf
*
bf
,
char
*
event_data
,
int
remote_event_size
)
...
@@ -1450,15 +1450,15 @@ void packet_arrive(terminal_state * s, tw_bf * bf, terminal_message * msg,
...
@@ -1450,15 +1450,15 @@ void packet_arrive(terminal_state * s, tw_bf * bf, terminal_message * msg,
if
(
!
total_chunks
)
if
(
!
total_chunks
)
total_chunks
=
1
;
total_chunks
=
1
;
if
(
tmp
)
/*
if(tmp)
{
{
if
(
tmp
->
num_chunks
>=
total_chunks
||
tmp
->
num_chunks
==
0
)
if(tmp->num_chunks >= total_chunks || tmp->num_chunks
<
0)
{
{
tw_output
(
lp
,
"
\n
invalid number of chunks %d for LP %ld "
,
tmp
->
num_chunks
,
lp
->
gid
);
//
tw_output(lp, "\n invalid number of chunks %d for LP %ld ", tmp->num_chunks, lp->gid);
tw_lp_suspend(lp, 0, 0);
tw_lp_suspend(lp, 0, 0);
return;
return;
}
}
}
}
*/
assert
(
lp
->
gid
==
msg
->
dest_terminal_id
);
assert
(
lp
->
gid
==
msg
->
dest_terminal_id
);
if
(
msg
->
packet_ID
==
LLU
(
TRACK_PKT
))
if
(
msg
->
packet_ID
==
LLU
(
TRACK_PKT
))
...
@@ -1571,7 +1571,6 @@ void packet_arrive(terminal_state * s, tw_bf * bf, terminal_message * msg,
...
@@ -1571,7 +1571,6 @@ void packet_arrive(terminal_state * s, tw_bf * bf, terminal_message * msg,
assert
(
tmp
);
assert
(
tmp
);
tmp
->
num_chunks
++
;
tmp
->
num_chunks
++
;
/* if its the last chunk of the packet then handle the remote event data */
if
(
msg
->
chunk_id
==
num_chunks
-
1
)
if
(
msg
->
chunk_id
==
num_chunks
-
1
)
{
{
bf
->
c1
=
1
;
bf
->
c1
=
1
;
...
@@ -1581,6 +1580,7 @@ void packet_arrive(terminal_state * s, tw_bf * bf, terminal_message * msg,
...
@@ -1581,6 +1580,7 @@ void packet_arrive(terminal_state * s, tw_bf * bf, terminal_message * msg,
N_finished_packets
++
;
N_finished_packets
++
;
s
->
finished_packets
++
;
s
->
finished_packets
++
;
}
}
/* if its the last chunk of the packet then handle the remote event data */
if
(
msg
->
remote_event_size_bytes
>
0
&&
!
tmp
->
remote_event_data
)
if
(
msg
->
remote_event_size_bytes
>
0
&&
!
tmp
->
remote_event_data
)
{
{
/* Retreive the remote event entry */
/* Retreive the remote event entry */
...
...
tests/conf/modelnet-test-dragonfly.conf
View file @
47bbd8b0
...
@@ -14,7 +14,7 @@ PARAMS
...
@@ -14,7 +14,7 @@ PARAMS
modelnet_order
=(
"dragonfly"
,
"dragonfly_router"
);
modelnet_order
=(
"dragonfly"
,
"dragonfly_router"
);
# scheduler options
# scheduler options
modelnet_scheduler
=
"fcfs"
;
modelnet_scheduler
=
"fcfs"
;
chunk_size
=
"
3
2"
;
chunk_size
=
"2
56
"
;
# modelnet_scheduler="round-robin";
# modelnet_scheduler="round-robin";
num_routers
=
"4"
;
num_routers
=
"4"
;
local_vc_size
=
"2048"
;
local_vc_size
=
"2048"
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment