Commit Graph
52 Commits
Author SHA1 Message Date
Marek Lemańczyk f9b4f912e2 Fix GPU residue tester iteration and add regression tests 2025-09-21 00:14:33 +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 7449f146d9 Ensure GPU residue copies are synchronized and cover high divisor sets 2025-09-20 22:49:37 +02:00
Marek Lemańczyk 8e686fbe6e Harden GPU divisor scan buffer handling 2025-09-20 21:29:22 +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 7ccac87df3 Zero GPU residue result buffer before scanning 2025-09-20 19:26:45 +02:00
Marek Lemańczyk 47e694cdc1 Serialize GPU prime sieve per accelerator 2025-09-20 19:00:27 +02:00
Marek Lemańczyk abe695788b Serialize GPU leases with per-accelerator locks 2025-09-20 18:19:21 +02:00
Marek Lemańczyk fb7734528f Tiny cleanup 2025-09-20 10:48:12 +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 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 662cfa8cc7 Reset residue toggle after default-limit residue test 2025-09-20 09:14:29 +02:00
Marek Lemańczyk ee9c151eaa Fix residue kernel modulus reduction and add regression test 2025-09-20 04:24:04 +02:00
Marek Lemańczyk 2d9a261867 Align residue GPU divisor limit with divisor mode 2025-09-20 03:50:36 +02:00
Marek Lemańczyk 9f2cf12ce1 Guard GPU residue and divisor scans against overflow 2025-09-20 03:21:49 +02:00
Marek Lemańczyk bc1ec6a3aa Allow residue GPU scanning to cover UInt128 divisors 2025-09-20 02:49:20 +02:00
Marek Lemańczyk bb93c5a995 Tiny cleanup 2025-09-17 19:17:41 +02:00
Marek Lemańczyk 9a7382fd80 Tiny cleanup 2025-09-17 19:08:43 +02:00
Marek Lemańczyk 1b28584168 Add divisor-mode detailed check coverage for factors 2025-09-17 19:02:21 +02:00
Marek Lemańczyk 34cc0b0fdd Refine GPU residue prime tables 2025-09-17 17:35:26 +02:00
Marek Lemańczyk 13e048c23d Allow exhaustive divisor scans with 128-bit limits 2025-09-15 14:15:35 +02:00
Marek Lemańczyk b1ef9b9512 Tiny cleanup 2025-09-14 16:28:13 +02:00
Marek Lemańczyk 58eb65ca9e Refine GPU residue utilities and add positive divisor tests 2025-09-13 16:47:38 +02:00
Marek Lemańczyk f73a5a7ff4 Skip incremental scan in residue mode 2025-09-13 11:57:04 +02:00
Marek Lemańczyk 84451aac4d Add regression test for divisor cycle GPU generation 2025-09-13 11:07:32 +02:00
Marek Lemańczyk ab9bc30a64 Tiny cleanup 2025-09-12 11:00:24 +02:00
Marek Lemańczyk dd6d9a71cf Stack overflow fixed 2025-09-12 10:59:58 +02:00
Marek Lemańczyk 0535ad2b7b BuildDivisorCandidates moved to MersenneNumberDivisorGpuTester. Micro-optimizations. 2025-09-11 21:21:42 +02:00
Marek Lemańczyk 11bd89d8d0 Unnecessary local variables removed. We'll now reuse local variables instead of declaring new one, where possible. resultBuffer.Dispose() called explicitly before releasing gpu context. 2025-09-11 18:57:49 +02:00
Marek Lemańczyk ab856c4995 Make GpuUInt128 mutable and update callers 2025-09-11 18:38:42 +02:00
Marek Lemańczyk 4e53874713 Add post-copy synchronization for residue GPU scan 2025-09-11 02:09:40 +02:00
Marek Lemańczyk f17f83e326 No. of divisor cycle iterations made configurable 2025-09-11 01:20:15 +02:00
Marek Lemańczyk d66c70e530 Primes limit restored 2025-09-11 00:57:24 +02:00
Marek Lemańczyk 596bb7e38f Add GPU divisor tester 2025-09-10 22:03:17 +02:00
Marek Lemańczyk fda058cde0 Tiny cleanup 2025-09-10 21:13:10 +02:00
Marek Lemańczyk 95fa143ac3 Protection against integer overflow added 2025-09-10 19:52:46 +02:00
Marek Lemańczyk 4be525520f Merge branch 'main' of https://github.com/mlemanczyk/even-perfect-numbers-scanner 2025-09-10 19:03:45 +02:00
Marek Lemańczyk 212d9b9464 Expand Lucas-Lehmer GPU prime test 2025-09-10 19:03:17 +02:00
Marek Lemańczyk 60f6952f91 Check for overflow when calculating pow 2 2025-09-10 19:02:12 +02:00
Marek Lemańczyk 269d9b4bc3 Add batch Lucas-Lehmer residues on GPU 2025-09-10 18:40:45 +02:00
Marek Lemańczyk 52a1e44811 Test batch Mersenne residue computation 2025-09-10 18:06:08 +02:00
Marek Lemańczyk 77fbbceeec Dispose GPU resources safely 2025-09-10 03:16:23 +02:00
Marek Lemańczyk c05cb04a5c Pooling restored 2025-09-10 02:19:45 +02:00
Marek Lemańczyk a9991c5b88 Pooling restored 2025-09-10 02:19:14 +02:00
Marek Lemańczyk 2e5affa005 2nd phase filtering restored. 2025-09-10 02:18:51 +02:00
Marek Lemańczyk 01277832e6 Implement UInt128 exponentiation and apply in Mersenne scan 2025-09-10 01:51:37 +02:00
Marek Lemańczyk 117ea94b50 Avoid using declarations for GPU resources 2025-09-10 00:19:48 +02:00
Marek Lemańczyk 2be49020a9 Small primes array type changed to uint[] to avoid excessive memory use, especially on GPU 2025-09-09 23:58:09 +02:00
Marek Lemańczyk 595f6129b6 Fix subtraction borrow in GpuUInt128 2025-09-09 22:22:23 +02:00