Skip to content

Commit 51a11c1

Browse files
committed
test/bench: add allreduce latency test
Rename bcast.def to coll_latency.def to add multiple collective latency tests. Just add allreduce for now.
1 parent 280fe53 commit 51a11c1

File tree

3 files changed

+25
-4
lines changed

3 files changed

+25
-4
lines changed

test/mpi/bench/Makefile.am

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ noinst_PROGRAMS = \
1717
p2p_one \
1818
p2p_self \
1919
barrier \
20-
bcast
20+
bcast \
21+
allreduce
2122

2223
.def.c:
2324
mydef_page $<

test/mpi/bench/bcast.def renamed to test/mpi/bench/coll_latency.def

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,25 @@ page: bcast, bench_frame
1212
$(else)
1313
$call bench_coll, measure_bcast
1414

15-
fncode: measure_bcast(int iter, int root, comm, size, pf_min, pf_max, pf_avg, pf_sigma)
15+
page: allreduce, bench_frame
16+
SIZE_MIN: 4
17+
data: buf, size/sizeof(int), MPI_INT
18+
19+
$call bench_coll, measure_allreduce
20+
21+
#----------------------------------------
22+
subcode: measure_common
1623
&call measure_coll_latency, iter
1724
buf = (char *) gbuf + i * size % (MAX_BUFSIZE - size)
18-
MPI_Bcast($(data), root, comm)
25+
BLOCK
1926
$(for:min,max,avg,sigma)
2027
*pf_$1 = tf_$1
2128

29+
fncode: measure_bcast(int iter, int root, comm, size, pf_min, pf_max, pf_avg, pf_sigma)
30+
&call measure_common
31+
MPI_Bcast($(data), root, comm)
32+
33+
fncode: measure_allreduce(int iter, comm, size, pf_min, pf_max, pf_avg, pf_sigma)
34+
&call measure_common
35+
MPI_Allreduce(MPI_IN_PLACE, $(data), MPI_SUM, comm)
36+

test/mpi/bench/macros/bench_coll.def

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ subcode: bench_coll(measure_func)
44
$(set:params=iter, root, comm, size)
55
$(else)
66
$(set:params=iter, comm, size)
7+
$(if:!SIZE_MIN)
8+
$(set:SIZE_MIN=0)
9+
$(set:SIZE_STEP=size=(size==0)?1:size*2)
10+
$(else)
11+
$(set:SIZE_STEP=size*=2)
712
$if grank == 0
813
$call header_coll_latency
9-
&call foreach_size
14+
$for int size = $(SIZE_MIN); size < $(MAX_BUFSIZE); $(SIZE_STEP)
1015
$my tf_min, tf_max, tf_avg, tf_sigma
1116
$(set:MIN_ITER=0.001/tf_max)
1217
&call coll_warmup

0 commit comments

Comments
 (0)