Marek Lemańczyk
|
3304335072
|
Rename CPU Montgomery multiply and align GPU helper
|
2025-10-28 21:06:40 +01:00 |
|
Marek Lemańczyk
|
eaee599f25
|
Use GPU-safe Montgomery multiply in kernels
|
2025-10-28 20:58:02 +01:00 |
|
mlemanczyk
|
4db06cfe80
|
Temporarily enabling heuristic GPU order checks.
|
2025-10-28 20:49:41 +01:00 |
|
mlemanczyk
|
bead40713c
|
Switching .IsPrime check to CPU for much higher performance.
|
2025-10-28 20:49:11 +01:00 |
|
mlemanczyk
|
ca8ab2bcf8
|
Tester made static to better mimic production code.
|
2025-10-28 20:48:35 +01:00 |
|
Marek Lemańczyk
|
d149700311
|
Merge pull request #246 from mlemanczyk/codex/compare-cpu-and-gpu-execution-paths
Make GPU sieve results authoritative
|
2025-10-28 20:14:33 +01:00 |
|
Marek Lemańczyk
|
1792349bad
|
Make GPU sieve results authoritative
|
2025-10-28 20:14:22 +01:00 |
|
mlemanczyk
|
2f461ee001
|
Merge branch 'codex/analyze-gc-instances-in-checkdivisors-method' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into codex/analyze-gc-instances-in-checkdivisors-method
|
2025-10-28 20:12:45 +01:00 |
|
mlemanczyk
|
93aed56f23
|
Non-heuristic GPU benchmark uncommented, since we improved it.
|
2025-10-28 20:12:41 +01:00 |
|
Marek Lemańczyk
|
ff9774925e
|
Merge pull request #245 from mlemanczyk/codex/move-buildsmallprimes-to-divisorgenerator-g256a9
Enable residue-aware GPU sieve in PrimeTester
|
2025-10-28 20:00:22 +01:00 |
|
Marek Lemańczyk
|
1f9421430b
|
Reuse GPU divisor tables across PrimeTester batches
|
2025-10-28 19:53:11 +01:00 |
|
Marek Lemańczyk
|
c53966e481
|
Enable residue-aware GPU sieve in PrimeTester
|
2025-10-28 18:39:18 +01:00 |
|
mlemanczyk
|
3d43d52f2e
|
Console logging updated
|
2025-10-28 16:04:42 +01:00 |
|
Marek Lemańczyk
|
fa4bb0bcc1
|
Merge pull request #243 from mlemanczyk/codex/modify-evenperfectbitscanner-to-use-taskthreadpool
Refactor by-divisor scheduling to use task thread pool
|
2025-10-28 15:47:47 +01:00 |
|
Marek Lemańczyk
|
c4c783610b
|
Add start gate to by-divisor task scheduling
|
2025-10-28 15:32:15 +01:00 |
|
Marek Lemańczyk
|
29f58e3059
|
Refactor by-divisor scheduling to use task thread pool
|
2025-10-28 15:11:21 +01:00 |
|
Marek Lemańczyk
|
29af0cb0ce
|
Merge pull request #242 from mlemanczyk/codex/modify-taskthreadpool-to-terminate-threads-after-tasks
Stop tracking double disposal in TaskThreadPool
|
2025-10-28 14:29:48 +01:00 |
|
Marek Lemańczyk
|
3edf2cd575
|
Stop tracking double disposal in TaskThreadPool
|
2025-10-28 14:29:34 +01:00 |
|
Marek Lemańczyk
|
a89ed7576e
|
Merge pull request #241 from mlemanczyk/codex/remove-executionscope-structure
Remove GPU context creation lock
|
2025-10-28 13:39:43 +01:00 |
|
Marek Lemańczyk
|
86990ae0f7
|
Remove kernel initialization lock from GPU leases
|
2025-10-28 13:30:47 +01:00 |
|
Marek Lemańczyk
|
de7ddd8db3
|
Remove GPU context creation lock
|
2025-10-28 13:26:20 +01:00 |
|
mlemanczyk
|
139899fa5e
|
More console logs added.
|
2025-10-28 02:11:24 +01:00 |
|
Marek Lemańczyk
|
c39a99a4fd
|
Merge pull request #240 from mlemanczyk/codex/analyze-mersenne=bydivisor-loops-for-early-breaks-kynlfe
Remove temporary by-divisor review documents
|
2025-10-28 02:01:52 +01:00 |
|
Marek Lemańczyk
|
6dd5cea79f
|
Remove temporary by-divisor review documents
|
2025-10-28 02:01:28 +01:00 |
|
Marek Lemańczyk
|
bd0727131f
|
Merge pull request #238 from mlemanczyk/codex/optimize-evenperfectbitscanner-loops-kit1so
Hoist prime order thresholds in CPU heuristics
|
2025-10-27 21:31:23 +01:00 |
|
Marek Lemańczyk
|
968dd89d0d
|
Remove by-divisor path map document
|
2025-10-27 21:28:41 +01:00 |
|
Marek Lemańczyk
|
94a4ed8328
|
Hoist prime order thresholds in CPU heuristics
|
2025-10-27 21:24:43 +01:00 |
|
mlemanczyk
|
d381abe0cc
|
We'll now clear the dictionary after renting, to avoid unnecessary clearing if it's not going to be used anymore.
|
2025-10-27 16:54:49 +01:00 |
|
mlemanczyk
|
50d66a5186
|
Switched to GPU version in some places.
|
2025-10-27 15:30:10 +01:00 |
|
Marek Lemańczyk
|
1bd3d5c163
|
Merge pull request #235 from mlemanczyk/codex/modify-primetester.isprime-for-gpu
Add GPU prime tester overload for preallocated buffers
|
2025-10-27 00:03:38 +01:00 |
|
Marek Lemańczyk
|
9a0e328995
|
Reintroduce MulHigh CPU helper and tighten GPU sieve loop
|
2025-10-26 23:41:14 +01:00 |
|
Marek Lemańczyk
|
e2f68cedf2
|
Short-circuit small prime sieve kernel loops
|
2025-10-26 22:42:27 +01:00 |
|
Marek Lemańczyk
|
0e1212aa1c
|
Split MulHigh extensions into CPU and GPU variants
|
2025-10-26 22:42:21 +01:00 |
|
Marek Lemańczyk
|
3d458fc6da
|
Use precomputed small prime squares in GPU sieve
|
2025-10-26 22:28:04 +01:00 |
|
Marek Lemańczyk
|
794e092e57
|
Refactor GPU partial factoring context handling
|
2025-10-26 21:46:11 +01:00 |
|
Marek Lemańczyk
|
ba439f0f0f
|
Reuse GPU context for nested partial factoring
|
2025-10-26 20:58:21 +01:00 |
|
Marek Lemańczyk
|
6458f6740d
|
Add GPU prime tester overload for preallocated buffers
|
2025-10-26 20:30:44 +01:00 |
|
mlemanczyk
|
f2ce40ade9
|
Additional logging added.
|
2025-10-26 20:00:32 +01:00 |
|
Marek Lemańczyk
|
5c9fb47a3d
|
Merge pull request #234 from mlemanczyk/codex/restore-original-primetester-path
Restore CPU PrimeTester usage and rename fallback helpers
|
2025-10-26 19:09:05 +01:00 |
|
Marek Lemańczyk
|
3758524450
|
Extract divisor validator and rename legacy CPU prime helper
|
2025-10-26 18:59:07 +01:00 |
|
Marek Lemańczyk
|
1e5eadac34
|
Refine heuristic prime tester integration
|
2025-10-26 18:15:27 +01:00 |
|
Marek Lemańczyk
|
21d645fcf0
|
Comment out legacy PrimeTester guards
|
2025-10-26 18:15:22 +01:00 |
|
Marek Lemańczyk
|
55554d9565
|
Inline legacy GPU sieve and update heuristic fallbacks
|
2025-10-26 17:06:13 +01:00 |
|
Marek Lemańczyk
|
a7fc34e37a
|
Inline PrimeTester CPU path and reuse thread pools
|
2025-10-26 16:45:18 +01:00 |
|
Marek Lemańczyk
|
9bc8fd5043
|
Remove heuristic hooks from PrimeTester
|
2025-10-26 16:18:46 +01:00 |
|
Marek Lemańczyk
|
c01abbd03a
|
Restore legacy by-divisor scans for Mersenne testers
|
2025-10-26 16:04:09 +01:00 |
|
Marek Lemańczyk
|
a83ae56caf
|
Use LastDigit enum across Mersenne scanners
|
2025-10-26 16:04:05 +01:00 |
|
Marek Lemańczyk
|
43c7bafd5d
|
Restore CPU PrimeTester usage and rename fallback helpers
|
2025-10-26 15:19:49 +01:00 |
|
Marek Lemańczyk
|
ff1860a7b3
|
Merge pull request #233 from mlemanczyk/codex/modify-primetester-for-batch-heuristics
Interleave heuristic prime tester batches across groups
|
2025-10-26 13:12:45 +01:00 |
|
mlemanczyk
|
1ed5afe689
|
Switched to .IsPrime which performed best in benchmarks.
|
2025-10-26 04:05:00 +01:00 |
|
Marek Lemańczyk
|
a747f29ac2
|
Interleave heuristic prime tester batches across groups
|
2025-10-26 04:01:56 +01:00 |
|
Marek Lemańczyk
|
6e632ba03a
|
Merge pull request #232 from mlemanczyk/codex/analyze-evenperfectbitscanner-paths-and-implement-methods
Add static heuristic prime sieves
|
2025-10-26 03:42:39 +01:00 |
|
Marek Lemańczyk
|
1f7680a465
|
Use heuristic sieves for prime trial division
|
2025-10-26 03:41:04 +01:00 |
|
Marek Lemańczyk
|
15c229665d
|
Add heuristic prime sieves for cached divisor sequences
|
2025-10-26 03:21:29 +01:00 |
|
Marek Lemańczyk
|
4ee6464130
|
Merge pull request #230 from mlemanczyk/codex/optimize-gpu-memory-usage-in-kernels
Reduce GPU by-divisor host allocations
|
2025-10-25 06:04:43 +02:00 |
|
mlemanczyk
|
5276d9d27b
|
Merge branch 'codex/optimize-gpu-memory-usage-in-kernels' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into codex/optimize-gpu-memory-usage-in-kernels
|
2025-10-25 05:59:55 +02:00 |
|
mlemanczyk
|
74ab4e91e6
|
Console logging info added to know when a task starts & completes
|
2025-10-25 05:59:47 +02:00 |
|
Marek Lemańczyk
|
8e5a1cd4c7
|
Batch by-divisor GPU tasks across prime ranges
|
2025-10-25 05:58:50 +02:00 |
|
Marek Lemańczyk
|
2d103a9662
|
Compute initial divisor remainders inside GPU kernel
|
2025-10-25 05:41:05 +02:00 |
|
Marek Lemańczyk
|
32f9f25e9b
|
Share GPU by-divisor batch resources across accelerators
|
2025-10-25 05:03:16 +02:00 |
|
Marek Lemańczyk
|
3735a1cf0f
|
Gate GPU by-divisor scans to a single accelerator
|
2025-10-25 05:00:54 +02:00 |
|
Marek Lemańczyk
|
6b1c2d0665
|
Reuse GPU by-divisor buffers to curb host allocations
|
2025-10-25 03:45:46 +02:00 |
|
Marek Lemańczyk
|
2b00a53c78
|
Merge pull request #229 from mlemanczyk/codex/analyze-and-implement-exponentremainderstepper-for-gpu-lbfhg2
Optimize GPU divisor heuristics pipeline
|
2025-10-25 02:33:27 +02:00 |
|
Marek Lemańczyk
|
04d4d18f37
|
Rename GPU mul-mod helper
|
2025-10-25 02:20:15 +02:00 |
|
Marek Lemańczyk
|
4b13bc6497
|
Switch GPU powmod host helpers to simplified mul-mod
|
2025-10-25 02:20:09 +02:00 |
|
Marek Lemańczyk
|
03194650c9
|
Add GPU simplified mul-mod helper for host callers
|
2025-10-25 02:20:02 +02:00 |
|
Marek Lemańczyk
|
3e081141e0
|
Document GPU mul-mod benchmark guidance
|
2025-10-25 02:19:57 +02:00 |
|
Marek Lemańczyk
|
d0ba08dd24
|
Fix GPU mul mod benchmark kernel initialization
|
2025-10-24 22:08:32 +02:00 |
|
Marek Lemańczyk
|
e566339f09
|
Add GPU MulMod64 benchmarks
|
2025-10-24 22:00:46 +02:00 |
|
Marek Lemańczyk
|
2888a1f9b3
|
Deprecate MulMod64Gpu and migrate host callers
|
2025-10-24 22:00:41 +02:00 |
|
Marek Lemańczyk
|
8795b460c3
|
Document GPU by-divisor MulMod usage
|
2025-10-24 22:00:36 +02:00 |
|
Marek Lemańczyk
|
ad19096bab
|
Use constant residue initialization in GPU stepper
|
2025-10-24 21:59:51 +02:00 |
|
Marek Lemańczyk
|
4e9d57df4b
|
Unify GPU divisor kernels with stepper path
|
2025-10-24 20:50:52 +02:00 |
|
Marek Lemańczyk
|
868c7a4fd2
|
Tighten GPU divisor heuristics and stepper usage
|
2025-10-24 20:50:46 +02:00 |
|
Marek Lemańczyk
|
fab9ba0413
|
Restore reviewed divisor heuristics
|
2025-10-24 19:50:32 +02:00 |
|
Marek Lemańczyk
|
bbe0c02069
|
Use bit masks for divisor heuristics
|
2025-10-24 19:50:27 +02:00 |
|
Marek Lemańczyk
|
46a2178d65
|
Remove Montgomery data from GPU divisor flow
|
2025-10-24 18:56:28 +02:00 |
|
Marek Lemańczyk
|
69acd3dad9
|
Cache GPU divisor partial data on GPU path
|
2025-10-24 18:56:21 +02:00 |
|
Marek Lemańczyk
|
cc281ab423
|
Refactor GPU powmod helpers into ULongExtensions
|
2025-10-24 17:26:55 +02:00 |
|
Marek Lemańczyk
|
557bc5d06f
|
Use field-based exponent tracking for steppers
|
2025-10-24 17:26:49 +02:00 |
|
Marek Lemańczyk
|
d20362a2fc
|
Switch GPU by-divisor stepper to standard modular arithmetic
|
2025-10-24 09:20:17 +02:00 |
|
Marek Lemańczyk
|
1e5a9128cb
|
Split CPU and GPU exponent steppers
|
2025-10-24 08:49:53 +02:00 |
|
Marek Lemańczyk
|
035956cdb6
|
Replace GPU by-divisor kernel with standard modular exponentiation
|
2025-10-24 08:49:48 +02:00 |
|
Marek Lemańczyk
|
fbd6235316
|
Handle zero-cycle GPU divisor sessions with heuristics
|
2025-10-24 06:40:33 +02:00 |
|
Marek Lemańczyk
|
cf9d143ca2
|
Remove GPU by-divisor snapshot dependency
|
2025-10-24 05:05:21 +02:00 |
|
Marek Lemańczyk
|
8637ee8875
|
Restore GPU divisor heuristics to match cycle cache
|
2025-10-24 05:05:16 +02:00 |
|
Marek Lemańczyk
|
8a258f7536
|
Collapse GPU by-divisor batching to a single launch
|
2025-10-24 01:23:38 +02:00 |
|
Marek Lemańczyk
|
1075ab1ea1
|
Fuse GPU hit detection with divisor evaluation
|
2025-10-24 01:23:31 +02:00 |
|
Marek Lemańczyk
|
40d3b4b3ac
|
Fuse GPU by-divisor candidate filtering into one kernel
|
2025-10-24 01:23:25 +02:00 |
|
Marek Lemańczyk
|
ab1a069e57
|
Optimize GPU divisor heuristics pipeline
|
2025-10-24 00:29:26 +02:00 |
|
Marek Lemańczyk
|
6af0ae900e
|
Merge pull request #227 from mlemanczyk/codex/refactor-exponentremainderstepper-structure
Clarify Pollard-Rho guard and seed CPU stepping upfront
|
2025-10-23 20:15:59 +02:00 |
|
Marek Lemańczyk
|
7feeb08943
|
Clarify Pollard-Rho parity guard and seed CPU batches
|
2025-10-23 19:50:39 +02:00 |
|
mlemanczyk
|
0d7df2e45b
|
Unnecessary memory zeroing commented out. TODOs added for the remainders.
|
2025-10-23 19:42:03 +02:00 |
|
mlemanczyk
|
8e3e990499
|
Throwing exception added in case of invalid modulus to validate if the check ever kicks off
|
2025-10-23 16:43:52 +02:00 |
|
Marek Lemańczyk
|
c03aa53689
|
Merge pull request #226 from mlemanczyk/codex/analyze-and-optimize-memory-cleaning-in-evenperfectbitscanne
Avoid redundant GPU compaction buffer clearing
|
2025-10-23 16:34:41 +02:00 |
|
Marek Lemańczyk
|
c697a7e127
|
Throw when divisor cycle resolution fails
|
2025-10-23 01:48:11 +02:00 |
|
Marek Lemańczyk
|
ff9b0122c0
|
Restore hit clearing when divisor cycle is missing
|
2025-10-23 01:48:06 +02:00 |
|
Marek Lemańczyk
|
f0b4cdf6e2
|
Avoid redundant clearing in CPU divisor sessions
|
2025-10-23 01:48:02 +02:00 |
|
Marek Lemańczyk
|
f672ff520c
|
Avoid redundant compaction buffer clearing on GPU
|
2025-10-23 01:16:58 +02:00 |
|
Marek Lemańczyk
|
dda53581c0
|
Merge pull request #225 from mlemanczyk/codex/analyze-evenperfectbitscanner-for-gpu-optimization
Add GPU candidate generation for divisor scanning
|
2025-10-23 00:52:59 +02:00 |
|