Commit Graph
68 Commits
Author SHA1 Message Date
mlemanczyk 801b1be3e3 Cleanup 2025-11-18 04:22:39 +01:00
mlemanczyk 342eff2726 GpuKernelPool.GetOrAddKernels removed in --mersenne=bydivisor mode. PartialFactorResult.WithAdditionalPrime will now modify the current instance instead of creating new copy for better performance. SmallPrimeFactorViews renamed to SmallPrimeFactorGpuTables for consistency with other static tables. 2025-11-17 23:33:59 +01:00
mlemanczyk f630bfb598 HeuristicCombinedPrimeTesterAccelerator integrated with PrimeOrderCalculatorAccelerator. 2025-11-17 17:38:23 +01:00
mlemanczyk 183b147135 Heuristic tables split into 2 groups 2025-11-17 16:04:27 +01:00
mlemanczyk 5bc65464d0 Initial PollardRho implementation for GPU. Added pool for accelerator streams shared across the threads. GPU processing performance and stabilization improvements. GpuUInt128.BinaryGcd switched to the version which outperformed other in benchmarks. 2025-11-12 21:18:30 +01:00
Marek Lemańczyk 6dd5cea79f Remove temporary by-divisor review documents 2025-10-28 02:01:28 +01:00
Marek Lemańczyk 94a4ed8328 Hoist prime order thresholds in CPU heuristics 2025-10-27 21:24:43 +01:00
Marek Lemańczyk 9bc8fd5043 Remove heuristic hooks from PrimeTester 2025-10-26 16:18:46 +01:00
Marek Lemańczyk c01abbd03a Restore legacy by-divisor scans for Mersenne testers 2025-10-26 16:04:09 +01:00
Marek Lemańczyk a83ae56caf Use LastDigit enum across Mersenne scanners 2025-10-26 16:04:05 +01:00
Marek Lemańczyk 43c7bafd5d Restore CPU PrimeTester usage and rename fallback helpers 2025-10-26 15:19:49 +01:00
Marek Lemańczyk 15c229665d Add heuristic prime sieves for cached divisor sequences 2025-10-26 03:21:29 +01:00
Marek Lemańczyk fab9ba0413 Restore reviewed divisor heuristics 2025-10-24 19:50:32 +02:00
Marek Lemańczyk bbe0c02069 Use bit masks for divisor heuristics 2025-10-24 19:50:27 +02:00
Marek Lemańczyk 1e5a9128cb Split CPU and GPU exponent steppers 2025-10-24 08:49:53 +02:00
Marek Lemańczyk 7feeb08943 Clarify Pollard-Rho parity guard and seed CPU batches 2025-10-23 19:50:39 +02:00
Marek Lemańczyk c697a7e127 Throw when divisor cycle resolution fails 2025-10-23 01:48:11 +02:00
Marek Lemańczyk ff9b0122c0 Restore hit clearing when divisor cycle is missing 2025-10-23 01:48:06 +02:00
Marek Lemańczyk f0b4cdf6e2 Avoid redundant clearing in CPU divisor sessions 2025-10-23 01:48:02 +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 481d1010e8 Retire outdated windowed pow2 TODOs 2025-10-20 18:37:21 +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 653da2ccc3 Remove dead by-divisor cache fallback 2025-10-19 21:24:07 +02:00
Marek Lemańczyk 7adea979fb Move by-divisor comments ahead of disabled guards 2025-10-17 18:14:01 +02:00
Marek Lemańczyk 8428e6c5bd Clarify skip heuristic guard and tighten order factor init 2025-10-17 15:05:11 +02:00
mlemanczyk 56e413064a Using cleanup 2025-10-17 02:40:51 +02:00
Marek Lemańczyk 571b5a9938 Replace divisor scan UInt128 usage with thread-static GpuUInt128 2025-10-15 22:48:36 +02:00
Marek Lemańczyk 9ab87a8b9b Streamline factor cache lease usage in CPU tester 2025-10-15 21:55:30 +02:00
Marek Lemańczyk 64c3721db4 Streamline divisor factor pooling for CPU hot path 2025-10-15 21:50:11 +02:00
Marek Lemańczyk c99aebdf68 Restore divisor cycle fallback and enforce session disposal guard 2025-10-15 21:29:24 +02:00
Marek Lemańczyk 763714307f Eliminate GC allocations from CPU divisor scan hot path 2025-10-15 20:48:42 +02:00
Marek Lemańczyk b0ce7152f7 Pool factor cache entries to keep CPU factoring allocation-free 2025-10-15 20:48:33 +02:00
Marek Lemańczyk 34fcd62c23 Eliminate GC pressure from divisor cycle factoring 2025-10-15 19:32:53 +02:00
Marek Lemańczyk c8f8132db7 Align divisor pooling with review feedback 2025-10-15 19:32:45 +02:00
Marek Lemańczyk e44662413a Use thread-static pools in CPU divisor testing 2025-10-15 18:10:39 +02:00
mlemanczyk d3695a3dc3 Pools made thread static. Various small optimizations. "in" parameter added to read-only method parameters 2025-10-15 02:17:13 +02:00
Marek Lemańczyk c9ae56a5ec Remove default prime order overloads 2025-10-10 21:51:41 +02:00
mlemanczyk 64c08f9b49 We'll resolve the check when divisor cycle equals p. Tiny cleanup 2025-10-09 00:18:48 +02:00
Marek Lemańczyk c45b3951c3 Align CPU by-divisor scan with cached divisor filters 2025-10-08 20:15:26 +02:00
mlemanczyk 6dc26336c6 Remainder check adjusted to PrimesGenerator. 2025-10-08 19:56:53 +02:00
Marek Lemańczyk 85634da6eb Filter CPU divisor checks by admissible residues 2025-10-08 19:23:09 +02:00
Marek Lemańczyk 6918bd28ff Make by-divisor GPU kernels reuse read-only operands 2025-10-08 18:47:16 +02:00
Marek Lemańczyk cd1debe9d6 Various micro- and medium- optimizations 2025-10-07 22:14:34 +02:00
Marek Lemańczyk 16181903a1 Streamline by-divisor cycle equality checks 2025-10-05 21:32:40 +02:00
Marek Lemańczyk 941b51ebcf Windowed Pow2Mod implemented and integrated across repository. 2025-10-03 19:37:15 +02:00
Marek Lemańczyk ebe48d5f2f Divisor-Cycle Cache Rework 2025-10-02 19:53:09 +02:00
Marek Lemańczyk b8aa845c5c Clarify cycle stepper reset inlining 2025-10-02 13:30:56 +02:00
Marek Lemańczyk 36d316d19c Add TODOs for divisor metadata caching 2025-10-01 22:52:21 +02:00