@@ -74,6 +74,7 @@ Rabenseifner<DataT, Op, ObjT, finalHandler>::Rabenseifner(
74
74
vrt_node_ = this_node_ - nprocs_rem_;
75
75
}
76
76
77
+ vt_debug_print (terse, allreduce, " Rabenseifner constructor\n " );
77
78
initialize (generateNewId (), std::forward<Args>(data)...);
78
79
}
79
80
@@ -83,6 +84,8 @@ template <
83
84
{
84
85
auto & state = states_[id];
85
86
87
+ vt_debug_print (terse, allreduce, " Rabenseifner initializing state for ID = {}\n " , id);
88
+
86
89
state.scatter_messages_ .resize (num_steps_, nullptr );
87
90
state.scatter_steps_recv_ .resize (num_steps_, false );
88
91
state.scatter_steps_reduced_ .resize (num_steps_, false );
@@ -173,6 +176,7 @@ template <
173
176
typename DataT, template <typename Arg> class Op , typename ObjT,
174
177
auto finalHandler>
175
178
void Rabenseifner<DataT, Op, ObjT, finalHandler>::allreduce(size_t id) {
179
+ vt_debug_print (terse, allreduce, " Rabenseifner allreduce is_part_of_adjustment_group_ = {}\n " , is_part_of_adjustment_group_);
176
180
if (is_part_of_adjustment_group_) {
177
181
adjustForPowerOfTwo (id);
178
182
} else {
@@ -188,6 +192,10 @@ void Rabenseifner<DataT, Op, ObjT, finalHandler>::adjustForPowerOfTwo(size_t id)
188
192
auto & state = states_.at (id);
189
193
auto const partner = is_even_ ? this_node_ + 1 : this_node_ - 1 ;
190
194
195
+ vt_debug_print (
196
+ terse, allreduce, " Rabenseifner (Send Part1): To Node {} ID = {}\n " , partner, id
197
+ );
198
+
191
199
if (is_even_) {
192
200
proxy_[partner]
193
201
.template send <&Rabenseifner::adjustForPowerOfTwoRightHalf>(
@@ -204,10 +212,6 @@ void Rabenseifner<DataT, Op, ObjT, finalHandler>::adjustForPowerOfTwo(size_t id)
204
212
adjustForPowerOfTwoRightHalf (state.right_adjust_message_ .get ());
205
213
}
206
214
}
207
-
208
- vt_debug_print (
209
- terse, allreduce, " Rabenseifner (Send Part1): To Node {} ID = {}\n " , partner, id
210
- );
211
215
}
212
216
}
213
217
0 commit comments