Skip to content

Commit fdecfb0

Browse files
committed
#2240: Fix runtime failure in allreduce perf test
1 parent ad4c13b commit fdecfb0

File tree

2 files changed

+10
-15
lines changed

2 files changed

+10
-15
lines changed

src/vt/collective/reduce/allreduce/rabenseifner.impl.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ template <
132132
>
133133
void Rabenseifner<DataT, Op, ObjT, finalHandler>::executeFinalHan() {
134134
// theCB()->makeSend<finalHandler>(parent_proxy_[this_node_]).sendTuple(std::make_tuple(val_));
135+
vt_debug_print(terse, allreduce, "Rabenseifner executing final handler\n");
135136
parent_proxy_[this_node_].template invoke<finalHandler>(val_);
136137
completed_ = true;
137138
}
@@ -267,7 +268,7 @@ void Rabenseifner<DataT, Op, ObjT, finalHandler>::scatterReduceIter() {
267268
auto dest = (vdest < nprocs_rem_) ? vdest * 2 : vdest + nprocs_rem_;
268269
vt_debug_print(
269270
terse, allreduce,
270-
"Rabenseifner Part2 (step {}): Sending to Node {} starting with idx = {} and "
271+
"Rabenseifner Part2 (Send step {}): To Node {} starting with idx = {} and "
271272
"count "
272273
"{} \n",
273274
scatter_step_, dest, s_index_[scatter_step_],
@@ -310,7 +311,7 @@ void Rabenseifner<DataT, Op, ObjT, finalHandler>::scatterReduceIterHandler(
310311

311312
vt_debug_print(
312313
terse, allreduce,
313-
"Rabenseifner Part2 (step {}): scatter_mask_= {} nprocs_pof2_ = {}: "
314+
"Rabenseifner Part2 (Recv step {}): scatter_mask_= {} nprocs_pof2_ = {}: "
314315
"idx = {} from {}\n",
315316
msg->step_, scatter_mask_, nprocs_pof2_, r_index_[msg->step_],
316317
theContext()->getFromNodeCurrentTask()

tests/perf/allreduce.cc

+7-13
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,11 @@
5858
using namespace vt;
5959
using namespace vt::tests::perf::common;
6060

61-
static constexpr std::array<size_t, 8> const payloadSizes = {
62-
64, 128, 2048, 16384, 32768, 524288, 1048576, 2097152};
61+
// static constexpr std::array<size_t, 8> const payloadSizes = {
62+
// 64, 128, 2048, 16384, 32768, 524288, 1048576, 2097152};
63+
64+
static constexpr std::array<size_t, 1> const payloadSizes = {
65+
2097152};
6366

6467
struct MyTest : PerfTestHarness {
6568
MyTest() {
@@ -109,7 +112,6 @@ VT_PERF_TEST(MyTest, test_reduce) {
109112
data.resize(payload_size, theContext()->getNode() + 1);
110113

111114
theCollective()->barrier();
112-
113115
StartTimer(grp_proxy[my_node_].get()->timer_names_.at(payload_size));
114116
grp_proxy.allreduce<&NodeObj::handlerVec, collective::PlusOp>(data);
115117
}
@@ -124,16 +126,12 @@ VT_PERF_TEST(MyTest, test_allreduce_rabenseifner) {
124126
using Reducer = collective::reduce::allreduce::Rabenseifner<
125127
DataT, collective::PlusOp, NodeObj, &NodeObj::handlerVec>;
126128

127-
auto grp_proxy = vt::theObjGroup()->makeCollective<Reducer>(
128-
"allreduce_rabenseifner", proxy, num_nodes_, data);
129-
grp_proxy[my_node_].get()->proxy_ = grp_proxy;
130-
131129
for (auto payload_size : payloadSizes) {
132130
data.resize(payload_size, theContext()->getNode() + 1);
133131

134132
theCollective()->barrier();
135133
StartTimer(proxy[my_node_].get()->timer_names_.at(payload_size));
136-
grp_proxy[my_node_].template invoke<&Reducer::allreduce>();
134+
proxy.allreduce_h<&NodeObj::handlerVec, collective::PlusOp>(data);
137135
}
138136
}
139137

@@ -146,16 +144,12 @@ VT_PERF_TEST(MyTest, test_allreduce_recursive_doubling) {
146144
using Reducer = collective::reduce::allreduce::RecursiveDoubling<
147145
DataT, collective::PlusOp, NodeObj, &NodeObj::handlerVec>;
148146

149-
auto grp_proxy = vt::theObjGroup()->makeCollective<Reducer>(
150-
"allreduce_recursive_doubling", proxy, num_nodes_, data);
151-
grp_proxy[my_node_].get()->proxy_ = grp_proxy;
152-
153147
for (auto payload_size : payloadSizes) {
154148
data.resize(payload_size, theContext()->getNode() + 1);
155149

156150
theCollective()->barrier();
157151
StartTimer(proxy[my_node_].get()->timer_names_.at(payload_size));
158-
grp_proxy[my_node_].template invoke<&Reducer::allreduce>();
152+
proxy.allreduce_h<&NodeObj::handlerVec, collective::PlusOp>(data);
159153
}
160154
}
161155

0 commit comments

Comments
 (0)