Commit Graph
100 Commits
Author SHA1 Message Date
Marek Lemańczyk 845ce41dd8 Tiny cleanup and performance improvements 2025-09-25 08:28:28 +02:00
Marek Lemańczyk 8b95a42f27 Divisor cycle cache will now respect --divisor-cycles-batch parameter (renamed from --divisor-cycles-batch-size) 2025-09-25 07:02:44 +02:00
Marek Lemańczyk d7f2dbbec6 Formatting 2025-09-25 06:11:02 +02:00
Marek Lemańczyk 8c3e9cb76f Merge pull request #86 from mlemanczyk/codex/implement-todo-for-cpu-prime-residue-calculations
Move cycle filtering and residue prep to CPU
2025-09-25 06:10:03 +02:00
Marek Lemańczyk 62e4b31f35 Adjust divisor cycle cache usage after lease removal 2025-09-25 06:09:50 +02:00
Marek Lemańczyk d95195e0c6 Move cycle filtering and residue prep to CPU 2025-09-25 05:56:56 +02:00
Marek Lemańczyk 34681b9738 Small optimizations and more TODOs added. 2025-09-25 05:49:32 +02:00
Marek Lemańczyk 49fcd93747 GPU logic updated to use prime % divisor result precomputed on CPU instead of re-calculating it on GPU side. Cycle lease removed. 2025-09-25 05:28:23 +02:00
Marek Lemańczyk a171e57353 Removed useless status method 2025-09-25 04:41:47 +02:00
Marek Lemańczyk 26567bbdaf Formatting 2025-09-25 04:21:53 +02:00
Marek Lemańczyk 3fb0524259 Merge pull request #85 from mlemanczyk/codex/implement-remaining-todo-items-in-evenperfectbitscanner
Address review feedback on divisor processing
2025-09-25 04:21:19 +02:00
Marek Lemańczyk e876a9f2eb Remove redundant sort and CPU divisor struct 2025-09-25 04:21:02 +02:00
Marek Lemańczyk b58e2be2b0 GPU steps adjusted to prevent overloading it 2025-09-25 03:32:07 +02:00
Marek Lemańczyk 45b0d60a71 Merge pull request #84 from mlemanczyk/codex/fix-gpu-driver-overload-issue
Chunk GPU divisor cycle generation to avoid CPU fallback
2025-09-25 03:17:05 +02:00
Marek Lemańczyk 6717005529 Chunk GPU divisor cycle generation to avoid CPU fallback 2025-09-25 03:16:49 +02:00
Marek Lemańczyk b486d429e9 Merge pull request #83 from mlemanczyk/codex/fix-gpu-overload-issue-in-evenperfectbitscanner
Throttle GPU divisor cycle generation batches
2025-09-25 02:48:27 +02:00
Marek Lemańczyk ad3effa5fa Throttle GPU cycle generation batches 2025-09-25 02:48:14 +02:00
Marek Lemańczyk 211df684ce Merge pull request #82 from mlemanczyk/codex/implement-todos-in-evenperfectbitscanner
Restore cycle-aware divisor scans and background generation
2025-09-25 02:12:58 +02:00
Marek Lemańczyk b798970ce9 Restore cycle-aware divisor scans and background generation 2025-09-25 02:12:40 +02:00
Marek Lemańczyk bc4e526946 TODOs added 2025-09-25 01:07:58 +02:00
Marek Lemańczyk ed8b093472 TODOs added 2025-09-25 00:52:07 +02:00
Marek Lemańczyk 84c3c23997 Formatting 2025-09-25 00:05:46 +02:00
Marek Lemańczyk d72cfc9748 TODOs added 2025-09-25 00:02:19 +02:00
Marek Lemańczyk a8588d0ec5 Formatting 2025-09-24 23:33:37 +02:00
Marek Lemańczyk fc73205507 Merge pull request #81 from mlemanczyk/codex/implement-cpu-version-of-evenperfectbitscanner
Add CPU implementation for Mersenne by-divisor scanning
2025-09-24 23:04:57 +02:00
Marek Lemańczyk 1a3b75a52f Add CPU by-divisor tester and integrate interface 2025-09-24 23:04:41 +02:00
Marek Lemańczyk 854e8aaf34 Merge pull request #80 from mlemanczyk/codex/optimize-evenperfectbitscanner-with-divisor-cycle
Optimize by-divisor cycle usage in GPU testing
2025-09-24 22:34:05 +02:00
Marek Lemańczyk 760b941c06 Optimize by-divisor cycle exponent reductions 2025-09-24 22:33:41 +02:00
Marek Lemańczyk a1abe71279 Merge pull request #79 from mlemanczyk/codex/add-benchmarks-for-calculatecyclelengthgpu
Select 16-way GPU unroll and extend cycle benchmarks
2025-09-24 22:19:24 +02:00
Marek Lemańczyk ae782232f8 Add deeper GPU cycle unrolling and update benchmarks 2025-09-24 22:19:11 +02:00
Marek Lemańczyk c2b57ae13d Tiny cleanup 2025-09-24 21:09:49 +02:00
Marek Lemańczyk f8867205bf Merge pull request #78 from mlemanczyk/codex/modyfikuj-evenperfectbitscanner-dla-gpu
Implement GPU-safe fast division helper
2025-09-24 21:08:17 +02:00
Marek Lemańczyk e316c0055f Implement GPU-safe fast division helper 2025-09-24 21:07:43 +02:00
Marek Lemańczyk cc7cb12f86 Merge pull request #77 from mlemanczyk/codex/modify-evenperfectbitscanner-for-cycle-caching
Implement multi-tier divisor cycle caching and per-thread reuse
2025-09-24 19:04:19 +02:00
Marek Lemańczyk d4dcd0a534 Implement multi-tier divisor cycle caching and per-thread reuse 2025-09-24 19:04:07 +02:00
Marek Lemańczyk e92bca197d Formatting 2025-09-24 18:20:55 +02:00
Marek Lemańczyk 3f010ce9ad Merge pull request #76 from mlemanczyk/codex/review-cache-cycle-generation-and-loading
Fix divisor cycle generation range partitioning
2025-09-24 17:22:32 +02:00
Marek Lemańczyk b69a1101c4 Fix divisor cycle generation range partitioning 2025-09-24 17:22:20 +02:00
Marek Lemańczyk 283913375b Merge pull request #75 from mlemanczyk/codex/implement-todos-in-mersennenumberdivisorbydivisorgputester
Reuse divisor residues across prime candidates
2025-09-24 16:54:52 +02:00
Marek Lemańczyk 436d3856d6 Reuse divisor residues across prime candidates 2025-09-24 16:53:43 +02:00
Marek Lemańczyk a39f7dda59 More TODOs added 2025-09-24 16:30:17 +02:00
Marek Lemańczyk eeab8deea7 Tiny cleanup 2025-09-24 16:13:12 +02:00
Marek Lemańczyk 74b41aad85 Merge pull request #74 from mlemanczyk/codex/fix-evenperfectbitscanner-for-mersenne-mode
Improve by-divisor residue reuse and fix Montgomery multiplication
2025-09-24 15:44:49 +02:00
Marek Lemańczyk df69dcbadb Improve by-divisor residue reuse and fix Montgomery mul 2025-09-24 15:44:21 +02:00
Marek Lemańczyk 82a0fb1dd7 Merge pull request #73 from mlemanczyk/codex/implement-todos-in-mersennenumberdivisorbydivisorgputester
Optimize GPU divisor tester resource usage
2025-09-24 04:42:27 +02:00
Marek Lemańczyk 1296e94843 Optimize GPU divisor testing pipeline 2025-09-24 04:42:15 +02:00
Marek Lemańczyk 0a2fe73f0b Small optimizations and more TODOs added 2025-09-24 04:27:08 +02:00
Marek Lemańczyk a4bda0f0ee Tiny cleanup 2025-09-24 03:09:58 +02:00
Marek Lemańczyk d472d48a84 Merge pull request #72 from mlemanczyk/codex/implement-todos-in-mersennenumberdivisorbydivisorgputester
Fix residue tester filters and arithmetic utilities
2025-09-24 03:06:02 +02:00
Marek Lemańczyk 615ae29fd6 Fix residue tester filters and arithmetic utilities 2025-09-24 03:05:34 +02:00
Marek Lemańczyk 2484d506d6 Optimizations. More TODOs added. 2025-09-24 02:31:23 +02:00
Marek Lemańczyk 58a4473dde Tiny cleanup 2025-09-24 02:30:44 +02:00
Marek Lemańczyk 4d16cfffa2 IsPrime optimized to do more operations outside of the lock. 2025-09-24 01:58:02 +02:00
Marek Lemańczyk cc834687fd Tiny clarification added 2025-09-24 01:44:46 +02:00
Marek Lemańczyk 01bb731220 Optimizations. Unnecessary variables removed. 2025-09-24 01:41:54 +02:00
Marek Lemańczyk 15bc2686cc Tiny optimization 2025-09-24 00:34:13 +02:00
Marek Lemańczyk c1ad705a4a Merge pull request #71 from mlemanczyk/codex/review-changes-in-mersennenumberdivisorbydivisorgputester.cs
Fix Mod10 shortcut and restore Mod10_8_5_3Steps accuracy
2025-09-24 00:32:29 +02:00
Marek Lemańczyk 1978f7dfcb Fix Mod10 shortcut and restore Mod10_8_5_3Steps accuracy 2025-09-24 00:32:15 +02:00
Marek Lemańczyk 63f3d71ce4 Regression issue fixed 2025-09-24 00:07:44 +02:00
Marek Lemańczyk 773848c577 Optimizations 2025-09-24 00:01:08 +02:00
Marek Lemańczyk 7079d108e7 Cleanup 2025-09-23 23:29:44 +02:00
Marek Lemańczyk 4e5dd35a15 Merge pull request #70 from mlemanczyk/codex/update-checkdivisor-to-create-span-instances-conditionally
Reduce span creation in GPU divisor scan session
2025-09-23 23:28:45 +02:00
Marek Lemańczyk 5ce67fa1c5 Reduce span slicing in GPU divisor checks 2025-09-23 23:28:32 +02:00
Marek Lemańczyk dc22545adb Tiny cleanup 2025-09-23 23:22:20 +02:00
Marek Lemańczyk 6e99ee39e3 Extension methods benchmarked. Slower alternatives replaced. 2025-09-23 22:01:09 +02:00
Marek Lemańczyk 9becb8df67 using cleanup. 2025-09-23 22:00:31 +02:00
Marek Lemańczyk 68851bf5ba Merge branch 'main' of https://github.com/mlemanczyk/even-perfect-numbers-scanner 2025-09-23 00:00:23 +02:00
Marek Lemańczyk b5cad8251e Summary will be grouped & presented together. 2025-09-23 00:00:19 +02:00
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