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 |
|