Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
codes-dev
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Xin Wang
codes-dev
Commits
7c5de887
Commit
7c5de887
authored
Jun 13, 2017
by
Misbah Mubarak
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixing MPI_SendRecv implementation in dumpi workload replay
parent
821d41f3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
4 deletions
+22
-4
src/workload/methods/codes-dumpi-trace-nw-wrkld.c
src/workload/methods/codes-dumpi-trace-nw-wrkld.c
+22
-4
No files found.
src/workload/methods/codes-dumpi-trace-nw-wrkld.c
View file @
7c5de887
...
...
@@ -53,6 +53,7 @@ typedef struct rank_mpi_context
int
my_app_id
;
// whether we've seen an init op (needed for timing correctness)
int
is_init
;
int
num_reqs
;
int64_t
my_rank
;
double
last_op_time
;
double
init_time
;
...
...
@@ -517,9 +518,10 @@ int handleDUMPISendrecv(const dumpi_sendrecv* prm, uint16_t thread,
rank_mpi_context
*
myctx
=
(
rank_mpi_context
*
)
uarg
;
/* Issue a non-blocking send */
{
struct
codes_workload_op
wrkld_per_rank
;
wrkld_per_rank
.
op_type
=
CODES_WK_SEND
;
wrkld_per_rank
.
op_type
=
CODES_WK_
I
SEND
;
wrkld_per_rank
.
u
.
send
.
tag
=
prm
->
sendtag
;
wrkld_per_rank
.
u
.
send
.
count
=
prm
->
sendcount
;
wrkld_per_rank
.
u
.
send
.
data_type
=
prm
->
sendtype
;
...
...
@@ -529,10 +531,12 @@ int handleDUMPISendrecv(const dumpi_sendrecv* prm, uint16_t thread,
assert
(
wrkld_per_rank
.
u
.
send
.
num_bytes
>=
0
);
wrkld_per_rank
.
u
.
send
.
dest_rank
=
prm
->
dest
;
wrkld_per_rank
.
u
.
send
.
source_rank
=
myctx
->
my_rank
;
wrkld_per_rank
.
u
.
send
.
req_id
=
-
1
;
wrkld_per_rank
.
u
.
send
.
req_id
=
myctx
->
num_reqs
;
update_times_and_insert
(
&
wrkld_per_rank
,
wall
,
myctx
);
}
/* issue a blocking receive */
{
struct
codes_workload_op
wrkld_per_rank
;
wrkld_per_rank
.
op_type
=
CODES_WK_RECV
;
...
...
@@ -546,6 +550,19 @@ int handleDUMPISendrecv(const dumpi_sendrecv* prm, uint16_t thread,
wrkld_per_rank
.
u
.
recv
.
dest_rank
=
-
1
;
update_times_and_insert
(
&
wrkld_per_rank
,
wall
,
myctx
);
}
/* Issue a wait operation */
{
struct
codes_workload_op
wrkld_per_rank
;
wrkld_per_rank
.
op_type
=
CODES_WK_WAIT
;
wrkld_per_rank
.
u
.
wait
.
req_id
=
myctx
->
num_reqs
;
update_times_and_insert
(
&
wrkld_per_rank
,
wall
,
myctx
);
myctx
->
num_reqs
++
;
}
return
0
;
}
...
...
@@ -763,9 +780,10 @@ int dumpi_trace_nw_workload_load(const char* params, int app_id, int rank)
my_ctx
=
malloc
(
sizeof
(
rank_mpi_context
));
assert
(
my_ctx
);
my_ctx
->
my_rank
=
rank
;
my_ctx
->
my_app_id
=
app_id
;
my_ctx
->
my_app_id
=
app_id
;
my_ctx
->
last_op_time
=
0
.
0
;
my_ctx
->
is_init
=
0
;
my_ctx
->
is_init
=
0
;
my_ctx
->
num_reqs
=
0
;
my_ctx
->
dumpi_mpi_array
=
dumpi_init_op_data
();
if
(
rank
<
10
)
...
...
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