Marek Lemańczyk
|
6e89700f80
|
Clarify invariants across GPU divisor helpers
|
2025-10-13 20:41:00 +02:00 |
|
Marek Lemańczyk
|
bccb2f43c9
|
Document unreachable guards in GPU by-divisor pipeline
|
2025-10-13 19:56:47 +02:00 |
|
Marek Lemańczyk
|
65e010ded5
|
Merge pull request #166 from mlemanczyk/codex/locate-montgomery-arithmetic-usage-in-gpu-kernels-ir9oyy
Align prime-order GPU pow2 kernel with plain modular helper
|
2025-10-13 18:21:54 +02:00 |
|
Marek Lemańczyk
|
a255dc718d
|
Restore snapshot missing-cycle guard
|
2025-10-13 18:21:22 +02:00 |
|
Marek Lemańczyk
|
c81579865c
|
Compute missing small divisor cycles on demand
|
2025-10-13 18:18:57 +02:00 |
|
Marek Lemańczyk
|
c8d6143ab7
|
Simplify by-divisor buffer guards and document prime ordering
|
2025-10-13 18:12:06 +02:00 |
|
Marek Lemańczyk
|
594a38b9d7
|
Move by-divisor tests to large-cycle divisors
|
2025-10-13 18:05:58 +02:00 |
|
Marek Lemańczyk
|
c0b6b29837
|
Document divisor invariants and refresh pow2 tests
|
2025-10-13 17:42:56 +02:00 |
|
Marek Lemańczyk
|
af909e9e2d
|
Simplify prime guards and adopt unified mulmod
|
2025-10-13 16:56:50 +02:00 |
|
Marek Lemańczyk
|
3f5904c340
|
Clarify windowed pow2 invariants and tidy Montgomery pooling
|
2025-10-13 14:30:06 +02:00 |
|
Marek Lemańczyk
|
79695b0c56
|
Switch GPU pow2mod helpers to plain windowed arithmetic
|
2025-10-13 14:21:35 +02:00 |
|
Marek Lemańczyk
|
1916196e89
|
Introduce windowed plain pow2mod helper for CPU checks
|
2025-10-13 14:21:28 +02:00 |
|
Marek Lemańczyk
|
73e27326a2
|
Use plain modular math for single-shot CPU checks
|
2025-10-13 14:21:22 +02:00 |
|
Marek Lemańczyk
|
092947e216
|
Remove GPU Montgomery usage tracker note
|
2025-10-13 12:19:01 +02:00 |
|
Marek Lemańczyk
|
716ffcb243
|
Route prime-order pow2 kernel through plain modular helper
|
2025-10-13 05:08:34 +02:00 |
|
Marek Lemańczyk
|
e10394afa3
|
Merge pull request #165 from mlemanczyk/revert-164-codex/locate-montgomery-arithmetic-usage-in-gpu-kernels
Revert "Use standard modular math for single-use GPU exponent checks"
|
2025-10-13 05:00:42 +02:00 |
|
Marek Lemańczyk
|
8b02993bac
|
Revert "Use standard modular math for single-use GPU exponent checks"
|
2025-10-13 04:59:42 +02:00 |
|
Marek Lemańczyk
|
ad6a5c6e61
|
Merge pull request #164 from mlemanczyk/codex/locate-montgomery-arithmetic-usage-in-gpu-kernels
Use standard modular math for single-use GPU exponent checks
|
2025-10-13 04:59:36 +02:00 |
|
Marek Lemańczyk
|
b07bf769c9
|
Switch single-use GPU exponent checks to standard modular math
|
2025-10-13 04:58:20 +02:00 |
|
Marek Lemańczyk
|
7ef0906a9b
|
Merge pull request #163 from mlemanczyk/codex/analyze-caching-strategy-for-mersenne-path
Clarify per-divisor Montgomery recomputation
|
2025-10-13 03:43:36 +02:00 |
|
Marek Lemańczyk
|
f9d51efe94
|
Clarify per-divisor Montgomery recomputation
|
2025-10-13 03:43:23 +02:00 |
|
Marek Lemańczyk
|
b2b71f705a
|
Merge pull request #162 from mlemanczyk/codex/analyze-execution-path-for-gpu-optimization
Batch CPU divisor scanning in reusable batches
|
2025-10-13 01:42:26 +02:00 |
|
Marek Lemańczyk
|
9e06a21718
|
Streamline GPU remainder batching tables
|
2025-10-13 01:35:50 +02:00 |
|
Marek Lemańczyk
|
483584b5d4
|
Add GPU options for by-divisor Montgomery data
|
2025-10-13 01:35:46 +02:00 |
|
Marek Lemańczyk
|
ea29035c55
|
Use GpuUInt128 in by-divisor GPU scan
|
2025-10-13 01:35:40 +02:00 |
|
Marek Lemańczyk
|
cd47b122a5
|
Batch GPU remainder filtering for by-divisor scan
|
2025-10-13 01:35:36 +02:00 |
|
Marek Lemańczyk
|
cfedfd12c8
|
Restore CPU by-divisor flow when GPU deltas disabled
|
2025-10-13 01:35:32 +02:00 |
|
Marek Lemańczyk
|
41e6703926
|
Add dedicated GPU residue evaluator for by-divisor deltas
|
2025-10-13 01:35:26 +02:00 |
|
Marek Lemańczyk
|
0902b18721
|
Add GPU delta routing option for by-divisor mode
|
2025-10-13 01:35:21 +02:00 |
|
mlemanczyk
|
67dcf3ac7b
|
Local variables optimized for reuse and lowered registry pressure.
|
2025-10-12 23:57:58 +02:00 |
|
Marek Lemańczyk
|
681e9a4a5e
|
Batch CPU divisor scanning across reusable buffers
|
2025-10-12 22:46:58 +02:00 |
|
mlemanczyk
|
77ef93eb91
|
Standardized on neutral naming for easier reuse
|
2025-10-12 21:19:54 +02:00 |
|
mlemanczyk
|
fcfb6f6434
|
New benchmarks added. Tiny optimization
|
2025-10-12 21:17:21 +02:00 |
|
mlemanczyk
|
8c0320d837
|
Add optimized
|
2025-10-12 20:25:43 +02:00 |
|
mlemanczyk
|
0ff93e1d09
|
MulAdd optimized
|
2025-10-12 20:18:35 +02:00 |
|
mlemanczyk
|
6c4fa7fcf6
|
Benchmark selection restored
|
2025-10-12 20:15:38 +02:00 |
|
mlemanczyk
|
9e5ee36e6e
|
Tiny optimization
|
2025-10-12 19:00:56 +02:00 |
|
Marek Lemańczyk
|
e5486af49d
|
Merge pull request #161 from mlemanczyk/codex/add-benchmarks-for-mutableuint128.multiplyadd
Restore original MultiplyAddInline implementation
|
2025-10-12 18:54:22 +02:00 |
|
Marek Lemańczyk
|
67d9f4be55
|
Restore original MultiplyAddInline logic
|
2025-10-12 18:54:05 +02:00 |
|
mlemanczyk
|
d555e157f6
|
Calculation switched to typical O(N)
|
2025-10-12 18:23:06 +02:00 |
|
Marek Lemańczyk
|
7562f14b1c
|
Merge pull request #160 from mlemanczyk/codex/remove-uint128-from-mutableuint128
Restore MutableUInt128 UInt128-based initialization
|
2025-10-12 16:03:26 +02:00 |
|
Marek Lemańczyk
|
cc50e7376f
|
Restore UInt128 initialization helpers
|
2025-10-12 16:03:10 +02:00 |
|
Marek Lemańczyk
|
808bf64fab
|
Merge pull request #159 from mlemanczyk/codex/update-pow2mod-to-use-montgomery
Switch Pow2Mod kernel to non-windowed Montgomery exponentiation
|
2025-10-12 05:44:53 +02:00 |
|
Marek Lemańczyk
|
86989d0502
|
Replace Pow2Mod kernel with Montgomery binary ladder
|
2025-10-12 05:44:39 +02:00 |
|
mlemanczyk
|
e5dc688865
|
Locking temporarily disabled for testing
|
2025-10-12 05:38:33 +02:00 |
|
mlemanczyk
|
c64e672552
|
Heuristic parameters adjusted to test match thread counts in runs
|
2025-10-12 05:38:05 +02:00 |
|
mlemanczyk
|
a1848e4f0b
|
Compilation errors fixed.
|
2025-10-12 00:39:12 +02:00 |
|
mlemanczyk
|
be4ed3db34
|
Merge branch 'odd-powers-on-gpu' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into odd-powers-on-gpu
|
2025-10-12 00:38:00 +02:00 |
|
mlemanczyk
|
dde01cf8b9
|
Compilation errors fixed.
|
2025-10-12 00:37:57 +02:00 |
|
Marek Lemańczyk
|
4838abc6c0
|
Merge pull request #158 from mlemanczyk/codex/revert-to-parallel.foreach-for-candidate-processing
Restore Parallel.ForEach scheduling for by-divisor CPU path
|
2025-10-12 00:36:31 +02:00 |
|
Marek Lemańczyk
|
9c378db18f
|
Use Parallel.ForEach for grouped by-divisor work items
|
2025-10-12 00:36:20 +02:00 |
|
Marek Lemańczyk
|
4f73d89716
|
Merge pull request #157 from mlemanczyk/codex/ensure-proper-threading-for-candidate-groups
Group by-divisor CPU workloads per worker
|
2025-10-12 00:16:31 +02:00 |
|
Marek Lemańczyk
|
421cb8ae7d
|
Group by-divisor CPU workloads per worker
|
2025-10-12 00:00:47 +02:00 |
|
Marek Lemańczyk
|
17f1ea73a7
|
Merge pull request #156 from mlemanczyk/codex/analyze-gc-pressure-in-evenperfectbitscanner
Reduce GC churn in CPU Montgomery pow2 ladder
|
2025-10-11 23:13:31 +02:00 |
|
Marek Lemańczyk
|
60c8dbf6d6
|
Make MutableUInt128 a struct and reuse it in Pollard Rho
|
2025-10-11 23:13:17 +02:00 |
|
Marek Lemańczyk
|
9d62278bb3
|
Use stack buffers for CPU exponent lowering and add MutableUInt128
|
2025-10-11 23:13:12 +02:00 |
|
Marek Lemańczyk
|
2da549fe8c
|
Reduce GC in CPU odd power ladder
|
2025-10-11 22:45:46 +02:00 |
|
Marek Lemańczyk
|
b33158390f
|
Merge pull request #155 from mlemanczyk/codex/add-time-limit-for-prime-testing
Refine by-divisor prime testing time limits
|
2025-10-11 22:29:24 +02:00 |
|
Marek Lemańczyk
|
6a1925dd47
|
Refine by-divisor prime test time limits
|
2025-10-11 22:28:52 +02:00 |
|
Marek Lemańczyk
|
b47e758235
|
Merge pull request #154 from mlemanczyk/codex/analyze-evenperfectbitscanner-for-early-termination
Short-circuit order reduction in by-divisor CPU path
|
2025-10-11 21:47:56 +02:00 |
|
Marek Lemańczyk
|
2801832af9
|
Short-circuit divisor order reduction once the exponent is reached
|
2025-10-11 21:47:39 +02:00 |
|
Marek Lemańczyk
|
ec265bde8b
|
Merge pull request #153 from mlemanczyk/codex/analyze-caching-efficiency-in-evenperfectbitscanner
Remove Montgomery divisor cache
|
2025-10-11 21:17:45 +02:00 |
|
Marek Lemańczyk
|
ad22329814
|
Avoid pooling small buffers in CPU divisor pipeline
|
2025-10-11 21:17:18 +02:00 |
|
Marek Lemańczyk
|
8e9390bc5e
|
Isolate CPU divisor pools per thread
|
2025-10-11 21:17:12 +02:00 |
|
Marek Lemańczyk
|
cd69c08fb4
|
Remove Montgomery divisor cache
|
2025-10-11 20:50:13 +02:00 |
|
Marek Lemańczyk
|
fca650b285
|
Merge pull request #152 from mlemanczyk/codex/optimize-accelerator-allocation-for-mersennedivisorcycles
Remove GPU fallback from context pool
|
2025-10-11 18:37:48 +02:00 |
|
Marek Lemańczyk
|
c4858d2829
|
Dispose GPU execution scope with the kernel lease
|
2025-10-11 18:37:38 +02:00 |
|
Marek Lemańczyk
|
d476748216
|
Remove CPU fallback from GPU context pool
|
2025-10-11 18:31:46 +02:00 |
|
Marek Lemańczyk
|
3e2d2b05b1
|
Merge pull request #151 from mlemanczyk/codex/modify-primeordercalculator-for-divisor-cycle
Reuse cached divisor cycle suppression scopes
|
2025-10-11 17:35:13 +02:00 |
|
Marek Lemańczyk
|
3c926e4909
|
Cache divisor cycle suppression scopes
|
2025-10-11 17:35:00 +02:00 |
|
Marek Lemańczyk
|
e1be80048f
|
Merge pull request #150 from mlemanczyk/codex/analyze-garbage-collector-cost-issue
Pool prime factor partial results for divisor factoring
|
2025-10-11 16:39:24 +02:00 |
|
Marek Lemańczyk
|
99c98cd017
|
Pool prime factor partial results for divisor factoring
|
2025-10-11 16:39:07 +02:00 |
|
Marek Lemańczyk
|
8e7df60dbf
|
Merge pull request #149 from mlemanczyk/codex/modify-primeordercalculator-for-gpu-execution
Enable GPU fallbacks for CPU order calculations
|
2025-10-11 15:58:54 +02:00 |
|
Marek Lemańczyk
|
3c1519874c
|
Enable GPU fallbacks for CPU order calculations
|
2025-10-11 15:58:34 +02:00 |
|
Marek Lemańczyk
|
8fb7f937c0
|
Merge pull request #148 from mlemanczyk/codex/analyze-and-comment-mersennedivisorcycles-method-calls
Restore GPU heuristics and reuse cached order factorization
|
2025-10-11 15:30:31 +02:00 |
|
Marek Lemańczyk
|
fa74667f89
|
Respect GPU configuration and reuse order factorization
|
2025-10-11 15:30:04 +02:00 |
|
Marek Lemańczyk
|
45183acd9b
|
Merge pull request #147 from mlemanczyk/codex/update-.csproj-to-exclude-.temp.cs-files
Exclude VS Code temp files from project builds
|
2025-10-11 14:24:55 +02:00 |
|
Marek Lemańczyk
|
4f5ae7b674
|
Exclude VS Code temp files from compilation
|
2025-10-11 14:22:59 +02:00 |
|
mlemanczyk
|
12140bca0a
|
Rented pools made thread static
|
2025-10-11 14:14:28 +02:00 |
|
mlemanczyk
|
1cbf49c8b5
|
Small optimizations
|
2025-10-11 13:37:23 +02:00 |
|
Marek Lemańczyk
|
74fb7f1535
|
Merge pull request #146 from mlemanczyk/codex/optimize-ulongextensions-for-gpu-calculations
Accelerate Montgomery odd power initialization with GPU batches
|
2025-10-10 23:16:29 +02:00 |
|
Marek Lemańczyk
|
9181959390
|
Accelerate Montgomery odd power initialization with GPU batches
|
2025-10-10 23:12:49 +02:00 |
|
mlemanczyk
|
5a4a5e4d98
|
Heuristic defaults restored.
|
2025-10-10 22:48:46 +02:00 |
|
mlemanczyk
|
ee2df92a15
|
Performance improvement to decrease startup time.
|
2025-10-10 22:48:28 +02:00 |
|
Marek Lemańczyk
|
38120fba13
|
Merge pull request #145 from mlemanczyk/codex/merge-selective-improvements-from-pollardrhoplus2
Remove default prime order overloads
|
2025-10-10 21:52:09 +02:00 |
|
Marek Lemańczyk
|
c9ae56a5ec
|
Remove default prime order overloads
|
2025-10-10 21:51:41 +02:00 |
|
mlemanczyk
|
64c08f9b49
|
We'll resolve the check when divisor cycle equals p. Tiny cleanup
|
2025-10-09 00:18:48 +02:00 |
|
Marek Lemańczyk
|
79d821c475
|
Merge pull request #127 from mlemanczyk/codex/review-caching-in-evenperfectbitscanner
Compact by-divisor candidate filtering
|
2025-10-08 23:34:56 +02:00 |
|
Marek Lemańczyk
|
adac9ff5f9
|
Compact by-divisor candidate filtering
|
2025-10-08 23:34:35 +02:00 |
|
Marek Lemańczyk
|
4ab70ec4a8
|
Merge pull request #126 from mlemanczyk/codex/analyze-thread-processing-in-evenperfectbitscanner
Enable parallel by-divisor Mersenne scanning
|
2025-10-08 22:46:16 +02:00 |
|
Marek Lemańczyk
|
9a81f5f685
|
Enable parallel by-divisor scanning threads
|
2025-10-08 22:45:53 +02:00 |
|
Marek Lemańczyk
|
686d482417
|
Merge pull request #125 from mlemanczyk/codex/analyze-evenperfectbitscanner-gpu-execution
Reduce GPU remainder transfers for divisor filtering
|
2025-10-08 22:28:49 +02:00 |
|
Marek Lemańczyk
|
85a98eb009
|
Reduce GPU remainder transfers for divisor filtering
|
2025-10-08 22:28:36 +02:00 |
|
Marek Lemańczyk
|
5a66abe672
|
Merge pull request #124 from mlemanczyk/codex/enhance-tests-for-mersenne-class-path
Add GPU by-divisor tests for small factors
|
2025-10-08 21:39:25 +02:00 |
|
Marek Lemańczyk
|
fbe9a98b42
|
Add GPU by-divisor coverage for small factors
|
2025-10-08 21:39:10 +02:00 |
|
Marek Lemańczyk
|
4afe0e356e
|
Merge pull request #123 from mlemanczyk/codex/adjust-bydivisor-path-for-divisor-cycles
Align CPU by-divisor scan with divisor cycle cache filters
|
2025-10-08 20:16:05 +02:00 |
|
Marek Lemańczyk
|
c45b3951c3
|
Align CPU by-divisor scan with cached divisor filters
|
2025-10-08 20:15:26 +02:00 |
|
mlemanczyk
|
632957e4f4
|
Spell-check settings adjusted
|
2025-10-08 19:57:10 +02:00 |
|
mlemanczyk
|
6dc26336c6
|
Remainder check adjusted to PrimesGenerator.
|
2025-10-08 19:56:53 +02:00 |
|
Marek Lemańczyk
|
6a4ee0e2c5
|
Merge pull request #122 from mlemanczyk/codex/modify-evenperfectbitscanner-for-divisor-cycles
Filter CPU divisor-by-divisor scan by residue heuristics
|
2025-10-08 19:23:47 +02:00 |
|