Skip to content

Commit e2dea26

Browse files
committed
update montgomery 2^k-ary pow benchmark to only do unrolling on ARRAY_SIZE (thus skipping rolled timings) for partial array benches when ARRAY_SIZE == 1
1 parent 65014aa commit e2dea26

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

montgomery_arithmetic/include/hurchalla/montgomery_arithmetic/detail/experimental/montgomery_pow_2kary/testbench_montgomery_pow_2kary.cpp

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1459,17 +1459,19 @@ void bench_PA_6(...)
14591459
bench_PA_6<false, false, true, UnrollNumTablesInit, UnrollTableBits, UnrollNumTablesMainloop,
14601460
PTAG, ARRAY_SIZE, MontType, USE_SQUARING_VALUE_OPTIMIZATION, USE_SLIDING_WINDOW_OPTIMIZATION>(vecTimingPA, maxU, range, dummy, mmbr, seed, ebr);
14611461

1462-
bench_PA_6<true, true, false, UnrollNumTablesInit, UnrollTableBits, UnrollNumTablesMainloop,
1463-
PTAG, ARRAY_SIZE, MontType, USE_SQUARING_VALUE_OPTIMIZATION, USE_SLIDING_WINDOW_OPTIMIZATION>(vecTimingPA, maxU, range, dummy, mmbr, seed, ebr);
1462+
if HURCHALLA_CPP17_CONSTEXPR (ARRAY_SIZE > 1) {
1463+
bench_PA_6<true, true, false, UnrollNumTablesInit, UnrollTableBits, UnrollNumTablesMainloop,
1464+
PTAG, ARRAY_SIZE, MontType, USE_SQUARING_VALUE_OPTIMIZATION, USE_SLIDING_WINDOW_OPTIMIZATION>(vecTimingPA, maxU, range, dummy, mmbr, seed, ebr);
14641465

1465-
bench_PA_6<false, true, false, UnrollNumTablesInit, UnrollTableBits, UnrollNumTablesMainloop,
1466-
PTAG, ARRAY_SIZE, MontType, USE_SQUARING_VALUE_OPTIMIZATION, USE_SLIDING_WINDOW_OPTIMIZATION>(vecTimingPA, maxU, range, dummy, mmbr, seed, ebr);
1466+
bench_PA_6<false, true, false, UnrollNumTablesInit, UnrollTableBits, UnrollNumTablesMainloop,
1467+
PTAG, ARRAY_SIZE, MontType, USE_SQUARING_VALUE_OPTIMIZATION, USE_SLIDING_WINDOW_OPTIMIZATION>(vecTimingPA, maxU, range, dummy, mmbr, seed, ebr);
14671468

1468-
bench_PA_6<true, false, false, UnrollNumTablesInit, UnrollTableBits, UnrollNumTablesMainloop,
1469-
PTAG, ARRAY_SIZE, MontType, USE_SQUARING_VALUE_OPTIMIZATION, USE_SLIDING_WINDOW_OPTIMIZATION>(vecTimingPA, maxU, range, dummy, mmbr, seed, ebr);
1469+
bench_PA_6<true, false, false, UnrollNumTablesInit, UnrollTableBits, UnrollNumTablesMainloop,
1470+
PTAG, ARRAY_SIZE, MontType, USE_SQUARING_VALUE_OPTIMIZATION, USE_SLIDING_WINDOW_OPTIMIZATION>(vecTimingPA, maxU, range, dummy, mmbr, seed, ebr);
14701471

1471-
bench_PA_6<false, false, false, UnrollNumTablesInit, UnrollTableBits, UnrollNumTablesMainloop,
1472-
PTAG, ARRAY_SIZE, MontType, USE_SQUARING_VALUE_OPTIMIZATION, USE_SLIDING_WINDOW_OPTIMIZATION>(vecTimingPA, maxU, range, dummy, mmbr, seed, ebr);
1472+
bench_PA_6<false, false, false, UnrollNumTablesInit, UnrollTableBits, UnrollNumTablesMainloop,
1473+
PTAG, ARRAY_SIZE, MontType, USE_SQUARING_VALUE_OPTIMIZATION, USE_SLIDING_WINDOW_OPTIMIZATION>(vecTimingPA, maxU, range, dummy, mmbr, seed, ebr);
1474+
}
14731475
}
14741476

14751477

@@ -1856,10 +1858,11 @@ using namespace hurchalla;
18561858
PERF_PTAG, TableBits, CodeSection, ArraySize, MontType, UseSquaringValue, UseSlidingWindow>(static_cast<U>(maxU - range), range, dummy, mmbr[i], seed, ebr[i]));
18571859

18581860
#else
1859-
// bench_PA_all<2, MontType>(timingPA[i][j], maxU, range, dummy, mmbr[i], seed, ebr[i]);
1860-
// bench_PA_all<3, MontType>(timingPA[i][j], maxU, range, dummy, mmbr[i], seed, ebr[i]);
1861+
bench_PA_all<1, MontType>(timingPA[i][j], maxU, range, dummy, mmbr[i], seed, ebr[i]);
1862+
/* bench_PA_all<2, MontType>(timingPA[i][j], maxU, range, dummy, mmbr[i], seed, ebr[i]);
1863+
bench_PA_all<3, MontType>(timingPA[i][j], maxU, range, dummy, mmbr[i], seed, ebr[i]);
18611864
bench_PA_all<4, MontType>(timingPA[i][j], maxU, range, dummy, mmbr[i], seed, ebr[i]);
1862-
/* bench_PA_all<5, MontType>(timingPA[i][j], maxU, range, dummy, mmbr[i], seed, ebr[i]);
1865+
bench_PA_all<5, MontType>(timingPA[i][j], maxU, range, dummy, mmbr[i], seed, ebr[i]);
18631866
bench_PA_all<6, MontType>(timingPA[i][j], maxU, range, dummy, mmbr[i], seed, ebr[i]);
18641867
bench_PA_all<7, MontType>(timingPA[i][j], maxU, range, dummy, mmbr[i], seed, ebr[i]);
18651868
bench_PA_all<8, MontType>(timingPA[i][j], maxU, range, dummy, mmbr[i], seed, ebr[i]);

0 commit comments

Comments
 (0)