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 |
|
Marek Lemańczyk
|
7baf3b619f
|
Simplify exception guards in CPU remainder paths
|
2025-10-21 20:52:14 +02:00 |
|
Marek Lemańczyk
|
6adf78faf6
|
Streamline CPU remainder buffers
|
2025-10-21 20:52:09 +02:00 |
|
Marek Lemańczyk
|
b418d79fb3
|
Adopt fixed stack capacities for CPU prime order helpers
|
2025-10-21 19:46:59 +02:00 |
|
Marek Lemańczyk
|
c15405e3b1
|
Reuse stack buffers when lowering divisor exponents
|
2025-10-21 18:22:56 +02:00 |
|
mlemanczyk
|
31a0b8d706
|
Added static IsPrimeGpu
|
2025-10-21 04:09:26 +02:00 |
|
mlemanczyk
|
ea11db6d0f
|
Restored the Dictionary parameter instead of arrays
|
2025-10-21 04:08:48 +02:00 |
|
mlemanczyk
|
8dc7751084
|
Switched back to PrimeTester.IsPrimeInternal for teseting
|
2025-10-21 04:07:49 +02:00 |
|
Marek Lemańczyk
|
1b3a89ca53
|
Merge pull request #216 from mlemanczyk/codex/remove-factorcache-usage-in-evenperfectbitscanner
Remove per-thread factorization cache from Mersenne divisor workflows
|
2025-10-20 19:28:17 +02:00 |
|
Marek Lemańczyk
|
8acccce471
|
Add cycle cache hit tracking instrumentation
|
2025-10-20 19:28:06 +02:00 |
|
Marek Lemańczyk
|
1a4818c794
|
Add diagnostics for removed factorization cache
|
2025-10-20 19:22:02 +02:00 |
|
Marek Lemańczyk
|
28ff9292b8
|
Remove per-thread factorization cache
|
2025-10-20 19:08:44 +02:00 |
|
Marek Lemańczyk
|
20f30dc182
|
Merge pull request #215 from mlemanczyk/codex/analyze-cpu-paths-in-evenperfectbitscanner
Adjust CPU pow2 Montgomery helper for small divisors
|
2025-10-20 18:41:38 +02:00 |
|
Marek Lemańczyk
|
33f9b51593
|
Clarify residue stepper usage and update TODO tracker
|
2025-10-20 18:37:35 +02: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
|
360a31bd54
|
Align Lucas-Lehmer GPU helpers with windowed pow2 guidance
|
2025-10-20 18:37:15 +02:00 |
|
Marek Lemańczyk
|
82e44e3f3f
|
Confirm windowed pow2 usage across GPU kernels
|
2025-10-20 18:37:08 +02:00 |
|
Marek Lemańczyk
|
7cbc27d6c3
|
Use adaptive pow2 stepping in residue stepper
|
2025-10-20 18:36:58 +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
|
798ae455b1
|
Adjust CPU Pow2 Montgomery helper for small divisors
|
2025-10-20 17:03:36 +02:00 |
|
mlemanczyk
|
5d5fb28765
|
Cache removed. It was barely every hit.
|
2025-10-20 16:56:49 +02:00 |
|
Marek Lemańczyk
|
c726d6de6b
|
Merge pull request #214 from mlemanczyk/codex/analyze-cpu-paths-in-evenperfectbitscanner
Restore cycle remainder TODO comments
|
2025-10-20 16:07:08 +02:00 |
|
Marek Lemańczyk
|
9540a9935d
|
Restore cycle remainder TODO comments
|
2025-10-20 16:06:46 +02:00 |
|
Marek Lemańczyk
|
ecc718bc69
|
Merge pull request #213 from mlemanczyk/codex/check-and-complete-todos-in-mulmod-benchmarks
Inline GpuUInt128 Mul64 helper
|
2025-10-20 13:58:34 +02:00 |
|
Marek Lemańczyk
|
de8e769f48
|
Switch GpuUInt128 internals to in-place shifts
|
2025-10-20 13:58:16 +02:00 |
|
Marek Lemańczyk
|
50d2e462d7
|
Use in-place shifts in GpuUInt128.MulMod
|
2025-10-20 13:58:10 +02:00 |
|