Commit Graph
100 Commits
Author SHA1 Message Date
Marek Lemańczyk aa5e358878 Merge pull request #68 from mlemanczyk/codex/modify-evenperfectbitscanner-for-prime-parameter
Support --prime start for by-divisor scans
2025-09-22 23:59:31 +02:00
Marek Lemańczyk dbd36c4ee8 Enable by divisor mode to honor starting prime 2025-09-22 23:59:18 +02:00
Marek Lemańczyk 897e30d262 Merge pull request #67 from mlemanczyk/codex/review-and-optimize-evenperfectbitscanner-paths
Accelerate Mersenne modular multiplication paths
2025-09-22 23:24:43 +02:00
Marek Lemańczyk 7d112c347f Accelerate Mersenne modular multiplication paths 2025-09-22 23:24:19 +02:00
Marek Lemańczyk a8c0e5537f Merge pull request #66 from mlemanczyk/codex/analyze-locking-mechanisms-in-evenperfectbitscanner
Trim PrintResult critical work further
2025-09-22 20:16:47 +02:00
Marek Lemańczyk abe160c53e Minimize PrintResult critical section 2025-09-22 20:16:10 +02:00
Marek Lemańczyk 9a4162d33e Merge pull request #65 from mlemanczyk/codex/optimize-modulo-operations-in-extensions
Restore modulo helpers and inline fast remainder utilities
2025-09-22 19:55:48 +02:00
Marek Lemańczyk 762d205e86 Reuse local variables across modulo helpers 2025-09-22 19:54:59 +02:00
Marek Lemańczyk 3b8a10a20b Inline single-use modulo helpers 2025-09-22 19:54:54 +02:00
Marek Lemańczyk 3598f88aaf Replace small-modulo uses with optimized helpers 2025-09-22 19:54:50 +02:00
Marek Lemańczyk ca866ffc5b Reapply modulo helpers and inline fast remainders 2025-09-22 19:26:07 +02:00
Marek Lemańczyk 5db0c4fa95 Merge pull request #64 from mlemanczyk/codex/analyze-optimization-paths-for-evenperfectbitscanner
Make by-divisor divisor cycle filtering optional
2025-09-22 16:42:43 +02:00
Marek Lemańczyk 378d6a2fd8 Make by-divisor divisor cycle filtering optional 2025-09-22 16:42:27 +02:00
Marek Lemańczyk 0195960b5a Merge pull request #63 from mlemanczyk/codex/remove-unused-local-variables-in-extensions
Rescope local declarations for divisor workflows
2025-09-22 15:12:09 +02:00
Marek Lemańczyk ace3fcbf34 Rescope loop variables for divisor workflows 2025-09-22 15:11:44 +02:00
Marek Lemańczyk b76fdccc1e Merge pull request #62 from mlemanczyk/codex/add-benchmarks-and-optimize-montgomerymultiply
Add Montgomery multiplication benchmark and optimize implementation
2025-09-22 14:05:03 +02:00
Marek Lemańczyk 66d79f7166 Add Montgomery multiplication benchmark and optimize implementation 2025-09-22 14:04:50 +02:00
Marek Lemańczyk e7668874a6 Merge pull request #61 from mlemanczyk/codex/analyze-and-optimize-evenperfectbitscanner
Use Montgomery modular multiply in by-divisor GPU tester
2025-09-22 13:22:24 +02:00
Marek Lemańczyk a6571c2487 Accelerate by-divisor GPU tester with Montgomery math 2025-09-22 13:21:48 +02:00
Marek Lemańczyk 8ed8e56ec0 Merge pull request #60 from mlemanczyk/codex/optimize-evenperfectbitscanner-for-thread-independence
Improve by-divisor scanning concurrency
2025-09-21 14:38:30 +02:00
Marek Lemańczyk bee6b69793 Improve by-divisor scanning concurrency 2025-09-21 14:38:16 +02:00
Marek Lemańczyk d117921c3a Additional checks will be skipped in bydivisor mode to speed up calculations. Console output extended. 2025-09-21 14:23:56 +02:00
Marek Lemańczyk 562d2adc3e Merge pull request #59 from mlemanczyk/codex/modify-evenperfectbitscanner-for-thread-count
Enable multi-threaded divisor scanning
2025-09-21 13:44:37 +02:00
Marek Lemańczyk bf02826f7c Enable multi-threaded divisor scanning 2025-09-21 13:44:18 +02:00
Marek Lemańczyk 198b31f380 Console logging extended 2025-09-21 13:36:43 +02:00
Marek Lemańczyk b78f45ec36 Merge pull request #58 from mlemanczyk/codex/analyze-evenperfectbitscanner-execution-with-mersenne
Rework by-divisor scanning order
2025-09-21 13:06:03 +02:00
Marek Lemańczyk e7a3713db8 Merge branch 'main' into codex/analyze-evenperfectbitscanner-execution-with-mersenne 2025-09-21 13:05:22 +02:00
Marek Lemańczyk f91f526121 Rework by-divisor scanning order 2025-09-21 13:00:17 +02:00
Marek Lemańczyk 458cb77227 We'll output to console not only primes, but also composites. Output to console standardized on ConsoleInterval 2025-09-21 12:56:30 +02:00
Marek Lemańczyk 9a054542e6 Merge pull request #57 from mlemanczyk/codex/optimize-memory-usage-for-mersenne-method
Stream the by-divisor GPU tester without retaining divisors
2025-09-21 12:14:24 +02:00
Marek Lemańczyk f44e51c85e Stream by-divisor GPU checks without retaining divisors 2025-09-21 12:14:08 +02:00
Marek Lemańczyk ffc37f3584 Merge pull request #56 from mlemanczyk/codex/analyze-and-fix-accessviolationexception
Wire by-divisor GPU batching to scanner configuration
2025-09-21 11:42:03 +02:00
Marek Lemańczyk 3fd39c3d34 Wire by-divisor GPU batching to scanner configuration 2025-09-21 11:41:51 +02:00
Marek Lemańczyk 085e6e0ceb Merge pull request #55 from mlemanczyk/codex/analyze-exception-in-bydivisor-method
Implement lookup-based Mod10 for GPU compatibility
2025-09-21 11:24:04 +02:00
Marek Lemańczyk ae19ce25a7 Implement lookup-based Mod10 for GPU compatibility 2025-09-21 11:23:52 +02:00
Marek Lemańczyk c58c87c0ec Merge pull request #54 from mlemanczyk/codex/implement-bydivisor-method-for-prime-testing
Add GPU by-divisor scanning mode
2025-09-21 11:12:06 +02:00
Marek Lemańczyk eb0a5b2655 Log by-divisor progress updates 2025-09-21 11:11:56 +02:00
Marek Lemańczyk 5ce0cf74fc Require filtered primes for by-divisor scanning 2025-09-21 11:11:51 +02:00
Marek Lemańczyk b705488b35 Document by-divisor option in CLI help 2025-09-21 10:59:24 +02:00
Marek Lemańczyk b8b34766ae Merge pull request #53 from mlemanczyk/codex/add-mod3,-mod5,-mod7,-mod8,-mod10-methods
Add optimized modulo helpers and update GPU residue steps
2025-09-21 10:14:40 +02:00
Marek Lemańczyk 95a0b030f6 Add optimized modulo helpers for unsigned integers 2025-09-21 10:14:26 +02:00
Marek Lemańczyk 860d64baba Tiny cleanup 2025-09-21 09:51:05 +02:00
Marek Lemańczyk 2c2bc62cb2 Small refactoring 2025-09-21 09:32:01 +02:00
Marek Lemańczyk 412ce4fd50 % 10 operations replaces with UInt128/ulong.Mod10 methods 2025-09-21 07:42:25 +02:00
Marek Lemańczyk 3e0102a404 Mod10 benchmarks added 2025-09-21 06:28:42 +02:00
Marek Lemańczyk bba78dfff7 Cleanup 2025-09-21 06:17:45 +02:00
Marek Lemańczyk 1499f6abe1 Benchmarks extended. Small optimizations. 2025-09-21 06:15:14 +02:00
Marek Lemańczyk 53554ffd3d Restored faster version of the calculations 2025-09-21 05:40:13 +02:00
Marek Lemańczyk 5d8450192d Ignore list updated 2025-09-21 05:30:49 +02:00
Marek Lemańczyk c7e1ac60d2 Merge pull request #52 from mlemanczyk/codex/optimize-mersennenumberresiduegputester.scan-method
Restore struct residue args and add benchmarking project
2025-09-21 05:29:28 +02:00
Marek Lemańczyk 5ab69f8c01 Restore struct residue args and add residue benchmark project 2025-09-21 05:29:13 +02:00
Marek Lemańczyk 4fe701425e Micro-optimizations 2025-09-21 04:38:01 +02:00
Marek Lemańczyk f53853f6ff Micro optimization to take ref to orders once and re-use it, until it changes for the last block. 2025-09-21 04:27:51 +02:00
Marek Lemańczyk 186895e174 Merge branch 'main' of https://github.com/mlemanczyk/even-perfect-numbers-scanner 2025-09-21 04:15:53 +02:00
Marek Lemańczyk b464985596 Restored maxK override based on command line parameter 2025-09-21 04:14:21 +02:00
Marek Lemańczyk 99ef0abd50 Merge pull request #51 from mlemanczyk/codex/optimize-uint128extensions.mod10_8_5_3-method
Optimize Mod10_8_5_3 remainder computation
2025-09-21 04:13:08 +02:00
Marek Lemańczyk 72d66e293d Optimize simultaneous remainder calculation 2025-09-21 04:12:34 +02:00
Marek Lemańczyk 05ca1e0237 Merge pull request #50 from mlemanczyk/codex/finalize-revert-of-commit-2d024cc
Restore pre-residue mode behavior and tests
2025-09-21 04:05:32 +02:00
Marek Lemańczyk aa683215b2 Restore pre-residue mode behavior and tests 2025-09-21 04:05:16 +02:00
Marek Lemańczyk 23e8d306b1 Breaking change partially reverted 2025-09-21 02:48:51 +02:00
Marek Lemańczyk 8a6fc0c6a5 Revert "Merge pull request #24 from mlemanczyk/codex/modify-evenperfectbitscanner-for-residue-mode"
This reverts commit 2d024cc708, reversing
changes made to b1c29ad16e.
2025-09-21 02:25:18 +02:00
Marek Lemańczyk deb25796a8 Merge pull request #49 from mlemanczyk/codex/analyze-commit-for-evenperfectbitscanner-issue
Fix GPU residue tester iteration and add regression tests
2025-09-21 00:14:47 +02:00
Marek Lemańczyk f9b4f912e2 Fix GPU residue tester iteration and add regression tests 2025-09-21 00:14:33 +02:00
Marek Lemańczyk 4650faed58 Merge pull request #48 from mlemanczyk/codex/analyze-commit-causing-calculation-errors
Guard residue order kernels against stale cycle cache entries
2025-09-20 23:35:13 +02:00
Marek Lemańczyk 0ce17d19ae Guard residue order kernels against stale cycle cache entries 2025-09-20 23:34:47 +02:00
Marek Lemańczyk 88d58c6176 Merge pull request #47 from mlemanczyk/codex/analyze-evenperfectbitscanner-results
Ensure GPU residue copies are synchronized and cover high divisor sets
2025-09-20 22:49:54 +02:00
Marek Lemańczyk 7449f146d9 Ensure GPU residue copies are synchronized and cover high divisor sets 2025-09-20 22:49:37 +02:00
Marek Lemańczyk 633c94906a Merge pull request #46 from mlemanczyk/codex/investigate-evenperfectbitscanner-calculation-errors
Harden GPU divisor scan buffer handling
2025-09-20 21:29:36 +02:00
Marek Lemańczyk 8e686fbe6e Harden GPU divisor scan buffer handling 2025-09-20 21:29:22 +02:00
Marek Lemańczyk 2f07b776c6 Merge pull request #45 from mlemanczyk/codex/investigate-evenperfectbitscanner-output-errors
Align GPU prime sieve with CPU GCD heuristic
2025-09-20 19:48:50 +02:00
Marek Lemańczyk 1ec71f8cfd Align GPU prime sieve with CPU GCD heuristic 2025-09-20 19:48:36 +02:00
Marek Lemańczyk a5fafd6ebf Merge pull request #44 from mlemanczyk/codex/investigate-evenperfectbitscanner-incorrect-results
Zero GPU residue result buffer before scanning
2025-09-20 19:26:57 +02:00
Marek Lemańczyk 7ccac87df3 Zero GPU residue result buffer before scanning 2025-09-20 19:26:45 +02:00
Marek Lemańczyk 1714f39f81 Merge pull request #43 from mlemanczyk/codex/investigate-evenperfectbitscanner-calculations
Serialize GPU prime sieve per accelerator
2025-09-20 19:00:41 +02:00
Marek Lemańczyk 47e694cdc1 Serialize GPU prime sieve per accelerator 2025-09-20 19:00:27 +02:00
Marek Lemańczyk ab133d23c1 Merge pull request #42 from mlemanczyk/codex/analyze-program-execution-path-issues
Serialize GPU leases with per-accelerator locks
2025-09-20 18:19:48 +02:00
Marek Lemańczyk abe695788b Serialize GPU leases with per-accelerator locks 2025-09-20 18:19:21 +02:00
Marek Lemańczyk 2683dfcff1 Merge pull request #41 from mlemanczyk/codex/extend-tests-for-mersennenumberresiduegputester
Expand residue thread coverage tests
2025-09-20 17:29:04 +02:00
Marek Lemańczyk 33aeb88c87 Expand residue thread coverage tests 2025-09-20 17:28:34 +02:00
Marek Lemańczyk e148f5b6bc Merge pull request #40 from mlemanczyk/codex/expand-tests-for-mersennenumberresiduegputester
Expand GPU coverage for even perfect candidate tests
2025-09-20 10:50:23 +02:00
Marek Lemańczyk 94b314df23 Expand GPU coverage for even perfect candidate tests 2025-09-20 10:50:10 +02:00
Marek Lemańczyk fb7734528f Tiny cleanup 2025-09-20 10:48:12 +02:00
Marek Lemańczyk d78503eade Reapply "Merge pull request #35 from mlemanczyk/codex/debug-residue-iteration-in-evenperfectbitscanner"
This reverts commit cc1967231c.
2025-09-20 10:46:53 +02:00
Marek Lemańczyk 5e6e762556 Reapply "Merge pull request #34 from mlemanczyk/codex/fix-residue-method-iteration-issue"
This reverts commit 9a199dc258.
2025-09-20 10:45:01 +02:00
Marek Lemańczyk b676d89293 Merge branch 'main' of https://github.com/mlemanczyk/even-perfect-numbers-scanner 2025-09-20 09:41:10 +02:00
Marek Lemańczyk a9e4dc98c4 Revert "Merge pull request #38 from mlemanczyk/codex/fix-residue-method-iteration-issue"
This reverts commit afcc8d87f9, reversing
changes made to 5702e45169.
2025-09-20 09:39:53 +02:00
Marek Lemańczyk cc1967231c Revert "Merge pull request #35 from mlemanczyk/codex/debug-residue-iteration-in-evenperfectbitscanner"
This reverts commit bf1a498456, reversing
changes made to 66ac013abc.
2025-09-20 09:35:34 +02:00
Marek Lemańczyk 9a199dc258 Revert "Merge pull request #34 from mlemanczyk/codex/fix-residue-method-iteration-issue"
This reverts commit 66ac013abc, reversing
changes made to 52a27dfe61.
2025-09-20 09:35:10 +02:00
Marek Lemańczyk e2eea432c5 Merge pull request #39 from mlemanczyk/codex/fix-evenperfectbitscanner-prime-detection
Fix GPU residue false positives for Mersenne primes
2025-09-20 09:16:11 +02:00
Marek Lemańczyk 662cfa8cc7 Reset residue toggle after default-limit residue test 2025-09-20 09:14:29 +02:00
Marek Lemańczyk 5420523a0a Restored outputting of candidates which failed some tests 2025-09-20 08:30:20 +02:00
Marek Lemańczyk afcc8d87f9 Merge pull request #38 from mlemanczyk/codex/fix-residue-method-iteration-issue
Fix residue iteration with filtered primes
2025-09-20 05:50:00 +02:00
Marek Lemańczyk 8334b87ead Restore indentation for transform selector 2025-09-20 05:49:45 +02:00
Marek Lemańczyk 5702e45169 Merge pull request #37 from mlemanczyk/codex/fix-residue-method-iteration-issue
Write only prime residue results
2025-09-20 05:25:13 +02:00
Marek Lemańczyk 6f692e93ef Write only prime residue results 2025-09-20 05:25:00 +02:00
Marek Lemańczyk 68179b14d7 Merge pull request #36 from mlemanczyk/codex/fix-residue-iteration-issue-in-output
Ensure residue composite flag is thread-local
2025-09-20 05:09:28 +02:00
Marek Lemańczyk b3272cf07e Ensure residue composite flag is thread-local 2025-09-20 05:09:12 +02:00
Marek Lemańczyk bf1a498456 Merge pull request #35 from mlemanczyk/codex/debug-residue-iteration-in-evenperfectbitscanner
Prevent residue filter from skipping primes after reaching maxP
2025-09-20 04:53:36 +02:00
Marek Lemańczyk 1555453848 Prevent premature stop when filtering primes 2025-09-20 04:52:03 +02:00
Marek Lemańczyk 66ac013abc Merge pull request #34 from mlemanczyk/codex/fix-residue-method-iteration-issue
Fix residue kernel modulus reduction for residue Mersenne scan
2025-09-20 04:24:25 +02:00