Commit Graph
41 Commits
Author SHA1 Message Date
mlemanczyk c413ee1162 Revert "Stream handling simplified to avoid dictionary lookups in favor of array lookups with known indexes."
This reverts commit a84445ef2a.
2025-11-16 17:14:48 +01:00
mlemanczyk a84445ef2a Stream handling simplified to avoid dictionary lookups in favor of array lookups with known indexes. 2025-11-16 15:01:51 +01:00
mlemanczyk cd7636ddbe Manual accelerator stream creations replaced with pool 2025-11-15 13:45:24 +01:00
mlemanczyk 0540411cad Accelerator index added for dictionary-less use-cases 2025-11-15 02:21:45 +01:00
mlemanczyk 0d2a88c45f GpuPrimeWorkLimiter.Acquire() / .Release() removed to save time on the hot-path with billions of calls. We'll rely on AcceleratorStreamPool limits and synchronization. 2025-11-13 17:52:13 +01:00
mlemanczyk 0de9871529 Functionality and classes separated. Kernel initialization made dependent on a flag. Cleanup. 2025-11-10 18:35:50 +01:00
mlemanczyk d0b1639a5d GPU stabilization improvements to prevent calculation crashes 2025-11-09 21:52:16 +01:00
mlemanczyk 8e779c5c9e GpuKernelLease removed 2025-11-07 15:36:45 +01:00
mlemanczyk 0410fd2c91 PooledContext removal - continuation. GpuKernelLease prepared for removal. 2025-11-07 14:13:11 +01:00
mlemanczyk f4e365194d GpuContextPool removed, because we share context and accelerator between threads, using streams to separate. 2025-11-07 12:52:20 +01:00
mlemanczyk 119690086a ConcurrentDictionary removed. Kernel made dependent on the shared GPU context. 2025-11-07 10:16:33 +01:00
mlemanczyk 9537addf38 ArrayPool<T> replaced with ThreadStaticPools 2025-11-07 00:46:16 +01:00
mlemanczyk de2a78b27b Streams added to all kernels and GPU operations to separate threads from each other. 2025-11-06 18:53:55 +01:00
mlemanczyk 64d615c402 Various optimizations to separate non-static data between threads and resolve read/write access issue. 2025-11-04 20:45:56 +01:00
Marek Lemańczyk de7ddd8db3 Remove GPU context creation lock 2025-10-28 13:26:20 +01:00
Marek Lemańczyk 6dd5cea79f Remove temporary by-divisor review documents 2025-10-28 02:01:28 +01:00
Marek Lemańczyk a83ae56caf Use LastDigit enum across Mersenne scanners 2025-10-26 16:04:05 +01:00
Marek Lemańczyk da6ea25729 Address windowed pow2 review feedback 2025-10-20 18:37:29 +02:00
Marek Lemańczyk 481d1010e8 Retire outdated windowed pow2 TODOs 2025-10-20 18:37:21 +02:00
Marek Lemańczyk 4831fc84d1 Clean up resolved windowed pow2 TODOs on CPU paths 2025-10-20 18:36:51 +02:00
Marek Lemańczyk e6f1f87d3b Extract UTF-8 CLI parser helper 2025-10-18 19:58:04 +02:00
Marek Lemańczyk b8aa845c5c Clarify cycle stepper reset inlining 2025-10-02 13:30:56 +02:00
Marek Lemańczyk 36d316d19c Add TODOs for divisor metadata caching 2025-10-01 22:52:21 +02:00
Marek Lemańczyk 6e99ee39e3 Extension methods benchmarked. Slower alternatives replaced. 2025-09-23 22:01:09 +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 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 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 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 2d9a261867 Align residue GPU divisor limit with divisor mode 2025-09-20 03:50:36 +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 1b28584168 Add divisor-mode detailed check coverage for factors 2025-09-17 19:02:21 +02:00
Marek Lemańczyk f73a5a7ff4 Skip incremental scan in residue mode 2025-09-13 11:57:04 +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 9f35f6c558 Initial commit. 2025-09-09 21:15:57 +02:00