Commit Graph
62 Commits
Author SHA1 Message Date
Marek Lemańczyk 8c662c5c85 Address feedback on GPU pooling and heuristic factoring 2025-10-31 21:47:42 +01:00
Marek Lemańczyk 567b92792c Use span growth instead of dictionaries in partial factor 2025-10-31 18:52:00 +01:00
mlemanczyk fc5700f82c IsPrime with cancellation token removed. 2025-10-29 22:31:28 +01:00
mlemanczyk 0850227881 Switched to heuristic GPU for a better performance than the standard one. 2025-10-28 22:15:33 +01:00
mlemanczyk ab045a62c4 Revert "Temporarily enabling heuristic GPU order checks."
This reverts commit 4db06cfe80.
2025-10-28 21:04:09 +01:00
mlemanczyk 4db06cfe80 Temporarily enabling heuristic GPU order checks. 2025-10-28 20:49:41 +01:00
Marek Lemańczyk bd0727131f Merge pull request #238 from mlemanczyk/codex/optimize-evenperfectbitscanner-loops-kit1so
Hoist prime order thresholds in CPU heuristics
2025-10-27 21:31:23 +01:00
Marek Lemańczyk 94a4ed8328 Hoist prime order thresholds in CPU heuristics 2025-10-27 21:24:43 +01:00
mlemanczyk d381abe0cc We'll now clear the dictionary after renting, to avoid unnecessary clearing if it's not going to be used anymore. 2025-10-27 16:54:49 +01:00
mlemanczyk 50d66a5186 Switched to GPU version in some places. 2025-10-27 15:30:10 +01:00
mlemanczyk f2ce40ade9 Additional logging added. 2025-10-26 20:00:32 +01:00
Marek Lemańczyk 3758524450 Extract divisor validator and rename legacy CPU prime helper 2025-10-26 18:59:07 +01:00
Marek Lemańczyk 1e5eadac34 Refine heuristic prime tester integration 2025-10-26 18:15:27 +01:00
Marek Lemańczyk 43c7bafd5d Restore CPU PrimeTester usage and rename fallback helpers 2025-10-26 15:19:49 +01:00
mlemanczyk 1ed5afe689 Switched to .IsPrime which performed best in benchmarks. 2025-10-26 04:05:00 +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
mlemanczyk 865a88fac0 Switched to GPU for prime testing 2025-10-22 00:40:30 +02:00
mlemanczyk 40ba538587 Switched to range operator from Slice, where applicable. 2025-10-21 21:28:55 +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 8dc7751084 Switched back to PrimeTester.IsPrimeInternal for teseting 2025-10-21 04:07:49 +02:00
mlemanczyk 5d5fb28765 Cache removed. It was barely every hit. 2025-10-20 16:56:49 +02:00
Marek Lemańczyk a7ed762428 Simplify scheduler configuration and pending composite caching 2025-10-20 01:07:02 +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 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
Marek Lemańczyk 0fbd635828 Reuse pooled local cache for partial factor primality checks 2025-10-19 23:35:08 +02:00
Marek Lemańczyk b7c187bbc5 Check Pollard Rho deadline inside partial factor loop 2025-10-19 23:16:35 +02:00
Marek Lemańczyk 4917f690fc Make partial factor primality cache thread static 2025-10-19 22:59:44 +02:00
Marek Lemańczyk 627d2e9b14 Cache composite primality results in PartialFactor 2025-10-19 22:49:38 +02:00
Marek Lemańczyk 653da2ccc3 Remove dead by-divisor cache fallback 2025-10-19 21:24:07 +02:00
mlemanczyk 5fbd5bc20c Small optimizations. Branches which we don't visit in runtime disabled. TODOs added. 2025-10-18 14:20:46 +02:00
mlemanczyk b8031c5993 Merge branch 'codex/analyze-gc-instances-in-checkdivisors-method' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into codex/analyze-gc-instances-in-checkdivisors-method 2025-10-17 17:21:29 +02:00
Marek Lemańczyk 83bcd8a0de Move pending entry pooling into shared thread pools 2025-10-17 17:20:43 +02:00
mlemanczyk 4cca19b1c2 TODO added 2025-10-17 17:06:18 +02:00
mlemanczyk be7c2b7ae5 Tiny optimization 2025-10-17 16:41:15 +02:00
mlemanczyk e525484b48 Primality tests normalized on GetOrComputePrimality. CofactorIsPrime added to factoring results for reuse in other places. 2025-10-17 16:24:59 +02:00
Marek Lemańczyk 8428e6c5bd Clarify skip heuristic guard and tighten order factor init 2025-10-17 15:05:11 +02:00
mlemanczyk 43cf4a978f Smaller optimizations. Division by zero fixed? 2025-10-17 14:18:49 +02:00
Marek Lemańczyk 0613cb9d99 Merge branch 'codex/analyze-gc-instances-in-checkdivisors-method' into codex/modify-gpukernellease-for-pooling 2025-10-17 11:21:09 +02:00
Marek Lemańczyk fada9ff098 Ignore zero factors in TrySpecialMaxCpu 2025-10-17 08:54:55 +02:00