Commit Graph
100 Commits
Author SHA1 Message Date
Marek Lemańczyk 36d316d19c Add TODOs for divisor metadata caching 2025-10-01 22:52:21 +02:00
Marek Lemańczyk 513fc7acb0 Optimizations and tiny cleanup 2025-10-01 13:02:07 +02:00
Marek Lemańczyk e14cb5df52 Merge pull request #101 from mlemanczyk/codex/implement-todos-in-gpuuint128
Return scalar GpuUInt128 MulMod values and add benchmarks
2025-10-01 00:41:46 +02:00
Marek Lemańczyk 604e91b3e3 Return scalar MulMod results and benchmark native reducers 2025-10-01 00:41:27 +02:00
Marek Lemańczyk 4bbdebc874 Optimizations and TODOs added 2025-09-30 20:22:01 +02:00
Marek Lemańczyk ddca13892b New GPU benchmarks added 2025-09-30 19:24:46 +02:00
Marek Lemańczyk 7fc9f7320d Performance improvement 2025-09-30 19:24:08 +02:00
Marek Lemańczyk c4ba758359 Merge branch 'main' of https://github.com/mlemanczyk/even-perfect-numbers-scanner 2025-09-30 17:14:47 +02:00
Marek Lemańczyk 34817bec21 New MulMod version added 2025-09-30 17:14:35 +02:00
Marek Lemańczyk 3cb2acb3af Merge pull request #100 from mlemanczyk/codex/add-public-method-descriptions-and-gpu-baseline
Cache bit masks for native modulo chunk reduction
2025-09-30 17:13:53 +02:00
Marek Lemańczyk 8d44b75ca5 Cache native modulo bit masks 2025-09-30 17:13:43 +02:00
Marek Lemańczyk 93a82f756f Merge pull request #99 from mlemanczyk/codex/add-benchmarks-for-mulmod64-variations
Extend MulMod64 benchmarks with operand reduction variants
2025-09-30 15:31:43 +02:00
Marek Lemańczyk 8c877cecb3 Add operand reduction benchmark variants for MulMod64 2025-09-30 15:31:20 +02:00
Marek Lemańczyk bc5e98450a Merge pull request #98 from mlemanczyk/codex/analyze-recent-performance-improvements
Refine Mul64 benchmarks with GPU-friendly variant
2025-09-30 04:24:52 +02:00
Marek Lemańczyk ebe3b306b9 Refine Mul64 benchmarks with GPU-friendly variant 2025-09-30 04:24:40 +02:00
Marek Lemańczyk daab18504b Performance improvements 2025-09-30 03:21:51 +02:00
Marek Lemańczyk 28ee92b1b9 Performance improvements 2025-09-30 03:12:33 +02:00
Marek Lemańczyk e6c8cb35e7 Benchmark limits removed to make it accurate 2025-09-29 23:29:12 +02:00
Marek Lemańczyk 0bdf85730d Tiny optimization 2025-09-29 23:28:35 +02:00
Marek Lemańczyk 79cb8823ad Merge pull request #97 from mlemanczyk/codex/add-benchmarks-for-ulongextensions.mulhigh
Refine GPU Mul64 helpers for mutation
2025-09-29 22:51:07 +02:00
Marek Lemańczyk f63254f0f0 Refactor GPU-compatible Mul64 handling 2025-09-29 22:35:46 +02:00
Marek Lemańczyk b677e6cdec Merge pull request #96 from mlemanczyk/codex/modify-evenperfectbitscanner-for-mersenne-mode
Extract by-divisor scanner into shared tester
2025-09-29 20:49:22 +02:00
Marek Lemańczyk 1ba04047c1 Extract by-divisor scanner into shared tester 2025-09-29 20:49:01 +02:00
Marek Lemańczyk e9270d16f3 Merge pull request #95 from mlemanczyk/codex/modify-evenperfectbitscanner-to-skip-candidates
Skip previously excluded by-divisor candidates
2025-09-29 14:46:53 +02:00
Marek Lemańczyk 4d2c70da8b Skip previously excluded by-divisor candidates 2025-09-29 14:46:37 +02:00
Marek Lemańczyk fc74f2b59b Merge pull request #94 from mlemanczyk/codex/check-current-benchmarks-for-montgomery-method
Document cycle computation benchmark results
2025-09-25 23:24:11 +02:00
Marek Lemańczyk da4dec2369 Document cycle computation benchmark results 2025-09-25 23:23:54 +02:00
Marek Lemańczyk 06061862db Merge pull request #93 from mlemanczyk/codex/implement-gpu-optimizations-for-evenperfectbitscanner
Clarify GPU divisor batch guard rationale
2025-09-25 22:59:10 +02:00
Marek Lemańczyk 7ef8a304e9 Clarify GPU batch capacity guards 2025-09-25 22:58:57 +02:00
Marek Lemańczyk ab3f39ec0d Merge pull request #92 from mlemanczyk/codex/refactor-cycleremainderstepper-and-mersennenumberdivisor
Initialize cycle remainder stepping upfront
2025-09-25 21:10:22 +02:00
Marek Lemańczyk 9958338820 Initialize cycle remainder stepping upfront 2025-09-25 21:09:28 +02:00
Marek Lemańczyk 699612f4f9 Merge pull request #91 from mlemanczyk/codex/refactor-mersenne-bydivisor-method
Trim GPU exponent batches using cached divisor cycles
2025-09-25 20:23:41 +02:00
Marek Lemańczyk 9b7611fe62 Trim GPU exponent batches using cached divisor cycles 2025-09-25 20:23:25 +02:00
Marek Lemańczyk 35691ff710 Merge pull request #90 from mlemanczyk/codex/optimize-memory-usage-in-evenperfectbitscanner
Optimize cycle remainder reuse in by-divisor testers
2025-09-25 18:52:06 +02:00
Marek Lemańczyk 9b9c6959be Reuse cycle remainder stepper in by-divisor testers 2025-09-25 18:51:47 +02:00
Marek Lemańczyk d91507c52e Merge pull request #89 from mlemanczyk/codex/optimize-buildprimebuffer-method
Reduce synchronization when building divisor prime buffer
2025-09-25 14:28:06 +02:00
Marek Lemańczyk 0f3b354a93 Reduce synchronization when building divisor prime buffer 2025-09-25 14:27:28 +02:00
Marek Lemańczyk b40c61b527 Tiny optimizations 2025-09-25 12:43:38 +02:00
Marek Lemańczyk 05077f7e90 Fixed regression with ref taken only once while it may move since.. 2025-09-25 10:31:34 +02:00
Marek Lemańczyk 5bfc9b1c30 Merge pull request #88 from mlemanczyk/codex/fix-divisor-cycle-handling-in-gpu-mode
Filter disallowed divisors when scanning by divisor
2025-09-25 10:04:59 +02:00
Marek Lemańczyk c28e36cbe5 Filter disallowed divisors when scanning by divisor 2025-09-25 10:04:38 +02:00
Marek Lemańczyk 5b2995c8a5 Divisor cycles added for testing with Codex 2025-09-25 09:39:10 +02:00
Marek Lemańczyk 0959b471b9 Merge branch 'main' of https://github.com/mlemanczyk/even-perfect-numbers-scanner 2025-09-25 09:38:14 +02:00
Marek Lemańczyk b792eb90e0 Small optimization 2025-09-25 09:35:02 +02:00
Marek Lemańczyk 756be9a040 Merge pull request #87 from mlemanczyk/codex/add-alternative-methods-for-pow2montgomerymod
Move pow2 variants into benchmark harness and add cycle comparison
2025-09-25 09:33:30 +02:00
Marek Lemańczyk a225cbd117 Move pow2 variants into benchmark harness and add cycle comparison 2025-09-25 09:33:16 +02:00
Marek Lemańczyk 74747adc7c Performance improvements 2025-09-25 08:29:27 +02:00
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