Clarify residue stepper usage and update TODO tracker

This commit is contained in:
Marek Lemańczyk committed 2025-10-20 18:37:35 +02:00
1 parent da6ea25729
commit 33f9b51593
3 files changed
+3 -20

No files matched your search

@@ -26,7 +26,7 @@ public class MersenneNumberResidueGpuTester(bool useGpuOrder)
UInt128 kStart = 1UL;
UInt128 limit = maxK + UInt128.One;
byte last = lastIsSeven ? (byte)1 : (byte)0;
var kernel = gpuLease.Pow2ModKernel; // Pow2ModKernel already executes the windowed pow2 ladder from GpuPow2ModBenchmarks.
var kernel = gpuLease.Pow2ModKernel;
twoP.Mod10_8_5_3(out ulong step10, out ulong step8, out ulong step5, out ulong step3);
step10 = step10.Mod10();
@@ -18,6 +18,8 @@ public class MersenneResidueStepper
p = p0;
// Inputs are already reduced in production; keep the old modulo guard commented for debugging reference.
// TODO: Confirm whether GPU execution ever constructs this stepper; if so, split the CPU/GPU initialization so
// the accelerator path retains the modulo reductions that prevent divergence.
// M_mod = M_mod_m_at_p0 % m;
// pow2_mod = (M_mod + 1) % m;
M_mod = M_mod_m_at_p0;