Commit Graph
327 Commits
Author SHA1 Message Date
Marek Lemańczyk 24eaec7a21 Refine Montgomery GPU helpers to avoid kernel branching 2025-10-22 01:43:10 +02:00
Marek Lemańczyk f12919e220 Split Pow2 Montgomery GPU kernels by Montgomery conversion 2025-10-22 01:43:02 +02:00
Marek Lemańczyk b08175dadf Simplify Pow2Montgomery GPU executor branching 2025-10-22 01:17:35 +02:00
mlemanczyk 865a88fac0 Switched to GPU for prime testing 2025-10-22 00:40:30 +02:00
Marek Lemańczyk 3e7606025d Add dedicated GPU context pool for PrimeTester 2025-10-21 22:34:30 +02:00
Marek Lemańczyk 3afd9399db Isolate residue GPU leases and drop try/finally 2025-10-21 22:01:50 +02:00
mlemanczyk 40ba538587 Switched to range operator from Slice, where applicable. 2025-10-21 21:28:55 +02:00
Marek Lemańczyk 819cb7b00b Guard residue GPU scanning with execution lock 2025-10-21 21:26:53 +02:00
Marek Lemańczyk 5dd9eb636d Inline GPU divisor locking adjustments 2025-10-21 21:19:57 +02:00
Marek Lemańczyk 9bcf1bd9a1 Merge pull request #218 from mlemanczyk/codex/analyze-mersenne=bydivisor-path-for-tracking-remainder-bbul2g
Reuse stack spans across divisor processing loops
2025-10-21 20:54:45 +02:00
Marek Lemańczyk a226ae10cb Stop clearing pooled buffers inside rent helpers 2025-10-21 20:52:21 +02:00
Marek Lemańczyk 7baf3b619f Simplify exception guards in CPU remainder paths 2025-10-21 20:52:14 +02:00
Marek Lemańczyk 6adf78faf6 Streamline CPU remainder buffers 2025-10-21 20:52:09 +02:00
Marek Lemańczyk b418d79fb3 Adopt fixed stack capacities for CPU prime order helpers 2025-10-21 19:46:59 +02:00
Marek Lemańczyk c15405e3b1 Reuse stack buffers when lowering divisor exponents 2025-10-21 18:22:56 +02:00
mlemanczyk 31a0b8d706 Added static IsPrimeGpu 2025-10-21 04:09:26 +02:00
mlemanczyk ea11db6d0f Restored the Dictionary parameter instead of arrays 2025-10-21 04:08:48 +02:00
mlemanczyk 8dc7751084 Switched back to PrimeTester.IsPrimeInternal for teseting 2025-10-21 04:07:49 +02:00
Marek Lemańczyk 8acccce471 Add cycle cache hit tracking instrumentation 2025-10-20 19:28:06 +02:00
Marek Lemańczyk 1a4818c794 Add diagnostics for removed factorization cache 2025-10-20 19:22:02 +02:00
Marek Lemańczyk 28ff9292b8 Remove per-thread factorization cache 2025-10-20 19:08:44 +02:00
Marek Lemańczyk 20f30dc182 Merge pull request #215 from mlemanczyk/codex/analyze-cpu-paths-in-evenperfectbitscanner
Adjust CPU pow2 Montgomery helper for small divisors
2025-10-20 18:41:38 +02:00
Marek Lemańczyk 33f9b51593 Clarify residue stepper usage and update TODO tracker 2025-10-20 18:37:35 +02:00
Marek Lemańczyk da6ea25729 Address windowed pow2 review feedback 2025-10-20 18:37:29 +02:00
Marek Lemańczyk 481d1010e8 Retire outdated windowed pow2 TODOs 2025-10-20 18:37:21 +02:00
Marek Lemańczyk 360a31bd54 Align Lucas-Lehmer GPU helpers with windowed pow2 guidance 2025-10-20 18:37:15 +02:00
Marek Lemańczyk 82e44e3f3f Confirm windowed pow2 usage across GPU kernels 2025-10-20 18:37:08 +02:00
Marek Lemańczyk 7cbc27d6c3 Use adaptive pow2 stepping in residue stepper 2025-10-20 18:36:58 +02:00
Marek Lemańczyk 4831fc84d1 Clean up resolved windowed pow2 TODOs on CPU paths 2025-10-20 18:36:51 +02:00
Marek Lemańczyk 798ae455b1 Adjust CPU Pow2 Montgomery helper for small divisors 2025-10-20 17:03:36 +02:00
mlemanczyk 5d5fb28765 Cache removed. It was barely every hit. 2025-10-20 16:56:49 +02:00
Marek Lemańczyk 9540a9935d Restore cycle remainder TODO comments 2025-10-20 16:06:46 +02:00
Marek Lemańczyk ecc718bc69 Merge pull request #213 from mlemanczyk/codex/check-and-complete-todos-in-mulmod-benchmarks
Inline GpuUInt128 Mul64 helper
2025-10-20 13:58:34 +02:00
Marek Lemańczyk de8e769f48 Switch GpuUInt128 internals to in-place shifts 2025-10-20 13:58:16 +02:00
Marek Lemańczyk 50d2e462d7 Use in-place shifts in GpuUInt128.MulMod 2025-10-20 13:58:10 +02:00
Marek Lemańczyk d0c9389bcc Document GpuUInt128 MulMod shift benchmarking 2025-10-20 13:58:04 +02:00
Marek Lemańczyk 1809ba95b3 Inline GpuUInt128 Mul64 helper 2025-10-20 13:30:34 +02:00
Marek Lemańczyk 5fbbfd7590 Keep TaskThreadPool workers idle until work arrives 2025-10-20 12:15:31 +02:00
Marek Lemańczyk ea2476c749 Clarify modular helper invariants 2025-10-20 11:52:04 +02:00
Marek Lemańczyk 0f51454496 Remove cancellation-aware UInt128 ModPow overload 2025-10-20 11:48:14 +02:00
Marek Lemańczyk c892e1c30c Trim unreachable MulMod conditionals 2025-10-20 11:48:10 +02:00
Marek Lemańczyk 94323c2e8c Document unreachable MulMod guards 2025-10-20 11:48:07 +02:00
Marek Lemańczyk 34240ab3e9 Consolidate MulMod helpers across CPU factoring path 2025-10-20 11:12:39 +02:00
Marek Lemańczyk a7ed762428 Simplify scheduler configuration and pending composite caching 2025-10-20 01:07:02 +02:00
Marek Lemańczyk e9cff7bfcd Reuse heuristic prime order config across runtime 2025-10-20 00:51:10 +02:00
Marek Lemańczyk d99610098a Store Pollard Rho primality on pending entries 2025-10-20 00:41:32 +02:00
Marek Lemańczyk 752c07c57e Persist partial factor primality in pending entries 2025-10-20 00:14:36 +02:00
Marek Lemańczyk bad5c28fdf Align scheduler thread count with CLI configuration 2025-10-20 00:01:21 +02:00
Marek Lemańczyk e4f6cbbe25 Requeue timed-out Pollard Rho composites 2025-10-19 23:48:12 +02:00
Marek Lemańczyk 43e2894661 Refine partial factor primality caching 2025-10-19 23:48:07 +02:00