Commit Graph
45 Commits
Author SHA1 Message Date
mlemanczyk 941733905b Hybrid device mode implemented as the current --mersenne=bydivisor CPU execution path. CPU path is now limited to CPU calculations, only. 2025-12-01 03:45:39 +01:00
mlemanczyk 47521e327a Cleanup 2025-11-25 00:50:18 +01:00
mlemanczyk e8b4c1fc83 Missing return of accelerator added 2025-11-25 00:34:17 +01:00
mlemanczyk b9ca95bf8c PrimeOrderCalculatorAccelerator.Rent is now created outside of the loops and re-used for all calculations. 2025-11-24 22:51:53 +01:00
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