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 |
|
Marek Lemańczyk
|
ea01585892
|
Convert divisor session results to hits on the GPU
|
2025-10-23 00:34:17 +02:00 |
|
Marek Lemańczyk
|
faab60c2cd
|
Reduce host hit detection overhead
|
2025-10-22 23:51:19 +02:00 |
|
Marek Lemańczyk
|
4d9158e8f3
|
Make GPU mask compaction branchless with shared staging
|
2025-10-22 22:01:39 +02:00 |
|
Marek Lemańczyk
|
ea0770a84a
|
Clarify stream kernel bounds assumptions
|
2025-10-22 21:41:51 +02:00 |
|
Marek Lemańczyk
|
586eb8d303
|
Document hot-path guards in GPU mask compaction helpers
|
2025-10-22 18:48:03 +02:00 |
|
Marek Lemańczyk
|
add62df697
|
Compact GPU divisor masks on device
|
2025-10-22 18:47:55 +02:00 |
|
Marek Lemańczyk
|
bae39ad95e
|
Capture GPU next start for divisor batches
|
2025-10-22 06:43:05 +02:00 |
|
Marek Lemańczyk
|
5b973fb513
|
Document and streamline GPU candidate kernel guards
|
2025-10-22 06:43:00 +02:00 |
|
Marek Lemańczyk
|
4d8ea9dccd
|
Use GpuUInt128 in GPU divisor candidate generation
|
2025-10-22 06:05:22 +02:00 |
|
Marek Lemańczyk
|
6c3efb90c9
|
Merge pull request #222 from mlemanczyk/codex/refactor-primetester.isprimegpu-for-branch-less-execution
Clarify GPU sieve invariants and trim defensive guards
|
2025-10-22 05:24:57 +02:00 |
|
Marek Lemańczyk
|
bfc5712d81
|
Add GPU kernel for divisor candidate generation
|
2025-10-22 05:24:01 +02:00 |
|
Marek Lemańczyk
|
ab4388dfba
|
Merge pull request #224 from mlemanczyk/codex/optimize-branch-less-paths-for-mersenne
Simplify GPU by-divisor configuration guards
|
2025-10-22 03:49:22 +02:00 |
|
Marek Lemańczyk
|
00341fbb8c
|
Simplify GPU by-divisor configuration guards
|
2025-10-22 03:49:04 +02:00 |
|
mlemanczyk
|
43cd067e09
|
Formatting
|
2025-10-22 01:47:40 +02:00 |
|
Marek Lemańczyk
|
4baca1ba70
|
Merge pull request #223 from mlemanczyk/codex/refactor-pow2montgomerygpuexecutor.execute-for-branch-less-c
Reduce branching in Pow2Montgomery GPU execution path
|
2025-10-22 01:43:41 +02:00 |
|
Marek Lemańczyk
|
24eaec7a21
|
Refine Montgomery GPU helpers to avoid kernel branching
|
2025-10-22 01:43:10 +02:00 |
|
Marek Lemańczyk
|
f12919e220
|
Split Pow2 Montgomery GPU kernels by Montgomery conversion
|
2025-10-22 01:43:02 +02:00 |
|
Marek Lemańczyk
|
b08175dadf
|
Simplify Pow2Montgomery GPU executor branching
|
2025-10-22 01:17:35 +02:00 |
|
Marek Lemańczyk
|
f2070a0f64
|
Document CPU sieve invariants and cache boolean guards
|
2025-10-22 00:56:17 +02:00 |
|
mlemanczyk
|
865a88fac0
|
Switched to GPU for prime testing
|
2025-10-22 00:40:30 +02:00 |
|
Marek Lemańczyk
|
fa6f75c158
|
Document GPU sieve invariants
|
2025-10-22 00:38:51 +02:00 |
|
Marek Lemańczyk
|
27739acd02
|
Merge pull request #221 from mlemanczyk/codex/ensure-primetester.isprimegpu-has-its-own-accelerator-pool
Add dedicated GPU accelerator pool for PrimeTester GPU sieve
|
2025-10-21 22:36:31 +02:00 |
|
Marek Lemańczyk
|
3e7606025d
|
Add dedicated GPU context pool for PrimeTester
|
2025-10-21 22:34:30 +02:00 |
|
Marek Lemańczyk
|
ebb87d6513
|
Merge pull request #220 from mlemanczyk/codex/analyze-gpu-execution-path-for-evenperfectbitscanner
Isolate residue GPU leases and drop try/finally
|
2025-10-21 22:02:03 +02:00 |
|
Marek Lemańczyk
|
3afd9399db
|
Isolate residue GPU leases and drop try/finally
|
2025-10-21 22:01:50 +02:00 |
|
mlemanczyk
|
40ba538587
|
Switched to range operator from Slice, where applicable.
|
2025-10-21 21:28:55 +02:00 |
|
Marek Lemańczyk
|
7631b2d4cb
|
Merge pull request #219 from mlemanczyk/codex/refactor-gpu-kernel-launch-process
Inline GPU divisor locking adjustments
|
2025-10-21 21:27:12 +02:00 |
|
Marek Lemańczyk
|
819cb7b00b
|
Guard residue GPU scanning with execution lock
|
2025-10-21 21:26:53 +02:00 |
|
Marek Lemańczyk
|
5dd9eb636d
|
Inline GPU divisor locking adjustments
|
2025-10-21 21:19:57 +02:00 |
|
Marek Lemańczyk
|
9bcf1bd9a1
|
Merge pull request #218 from mlemanczyk/codex/analyze-mersenne=bydivisor-path-for-tracking-remainder-bbul2g
Reuse stack spans across divisor processing loops
|
2025-10-21 20:54:45 +02:00 |
|
Marek Lemańczyk
|
a226ae10cb
|
Stop clearing pooled buffers inside rent helpers
|
2025-10-21 20:52:21 +02:00 |
|