Commit Graph
472 Commits
Author SHA1 Message Date
Marek Lemańczyk d0ba08dd24 Fix GPU mul mod benchmark kernel initialization 2025-10-24 22:08:32 +02:00
Marek Lemańczyk 2888a1f9b3 Deprecate MulMod64Gpu and migrate host callers 2025-10-24 22:00:41 +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 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 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 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 3e7606025d Add dedicated GPU context pool for PrimeTester 2025-10-21 22:34:30 +02:00