Skip to content

Commit 70215fa

Browse files
Added reverse Fan Buffer to Full Buffer logic
1 parent 52fbd8d commit 70215fa

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

include/osp/coarser/Sarkar/SarkarMul.hpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,9 +257,16 @@ RETURN_STATUS SarkarMul<Graph_t, Graph_t_coarse>::run_buffer_merges() {
257257
status = std::max(status, run_single_contraction_mode(diff));
258258
}
259259
if (ml_params.buffer_merge_mode == SarkarParams::BufferMergeMode::FULL && diff == 0) {
260-
params.mode = thue_coin.get_flip() ? SarkarParams::Mode::FAN_IN_BUFFER : SarkarParams::Mode::FAN_OUT_BUFFER;
260+
const bool flip = thue_coin.get_flip();
261+
params.mode = flip ? SarkarParams::Mode::FAN_IN_BUFFER : SarkarParams::Mode::FAN_OUT_BUFFER;
261262
updateParams();
262263
status = std::max(status, run_single_contraction_mode(diff));
264+
265+
if (diff == 0) {
266+
params.mode = (!flip) ? SarkarParams::Mode::FAN_IN_BUFFER : SarkarParams::Mode::FAN_OUT_BUFFER;
267+
updateParams();
268+
status = std::max(status, run_single_contraction_mode(diff));
269+
}
263270
}
264271

265272
if (diff > 0) {

0 commit comments

Comments
 (0)