mlemanczyk
|
880b1cd962
|
Revert "Unroll divisor-by-divisor GPU kernel loops"
This reverts commit 5d14efb739.
|
2025-10-29 04:51:28 +01:00 |
|
Marek Lemańczyk
|
5d14efb739
|
Unroll divisor-by-divisor GPU kernel loops
|
2025-10-29 04:31:45 +01:00 |
|
Marek Lemańczyk
|
f49963c4f6
|
Restore Math.Sqrt heuristic bound
|
2025-10-29 01:43:12 +01:00 |
|
Marek Lemańczyk
|
5a9e103bd5
|
Replace heuristic sqrt with log2-based estimate
|
2025-10-29 01:29:12 +01:00 |
|
Marek Lemańczyk
|
eeeff42be6
|
Replace heuristic sqrt with integer algorithm
|
2025-10-29 01:02:31 +01:00 |
|
Marek Lemańczyk
|
b54f4b6bd6
|
Simplify combined heuristic divisor selection
|
2025-10-29 00:44:46 +01:00 |
|
Marek Lemańczyk
|
b2cb17a96f
|
Return to one-A-one-B combined schedule
|
2025-10-29 00:44:39 +01:00 |
|
Marek Lemańczyk
|
f993561cd5
|
Eagerly build combined divisors and restore two-A-one-B default
|
2025-10-28 23:43:15 +01:00 |
|
Marek Lemańczyk
|
e8d163f595
|
Add three-A-two-B combined divisor schedule
|
2025-10-28 23:22:16 +01:00 |
|
Marek Lemańczyk
|
465b40bf35
|
Add three-A-one-B schedule to combined tester
|
2025-10-28 23:09:41 +01:00 |
|
Marek Lemańczyk
|
4c445f2a42
|
Switch combined heuristic divisors to 1A-1B schedule
|
2025-10-28 22:55:17 +01:00 |
|
Marek Lemańczyk
|
41bff698e8
|
Add combined heuristic prime tester with shared divisor arrays
|
2025-10-28 22:40:51 +01:00 |
|
Marek Lemańczyk
|
c693a05708
|
Add reusable group B divisor tables without trailing-three primes
|
2025-10-28 21:56:18 +01:00 |
|
Marek Lemańczyk
|
b83bddf49a
|
Merge pull request #247 from mlemanczyk/codex/fix-unhandled-exception-in-evenperfectbitscanner
Fix GPU Montgomery multiply to avoid unsupported intrinsics
|
2025-10-28 21:10:09 +01:00 |
|
mlemanczyk
|
e5f5cd563e
|
Merge branch 'codex/fix-unhandled-exception-in-evenperfectbitscanner' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into codex/fix-unhandled-exception-in-evenperfectbitscanner
|
2025-10-28 21:08:14 +01:00 |
|
Marek Lemańczyk
|
3304335072
|
Rename CPU Montgomery multiply and align GPU helper
|
2025-10-28 21:06:40 +01:00 |
|
mlemanczyk
|
ab045a62c4
|
Revert "Temporarily enabling heuristic GPU order checks."
This reverts commit 4db06cfe80.
|
2025-10-28 21:04:09 +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 |
|