Commit Graph
536 Commits
Author SHA1 Message Date
Marek Lemańczyk 7ea7cf527e Merge pull request #168 from mlemanczyk/codex/remove-redundant-wrapper-methods-in-mersenne-path
Eliminate IDisposable dependencies
2025-10-13 22:16:12 +02:00
Marek Lemańczyk c6008a65b4 Cache GPU remainder configs and fold constant modulos 2025-10-13 22:15:58 +02:00
Marek Lemańczyk 0b43880959 Remove IDisposable usage and using declarations 2025-10-13 21:55:16 +02:00
Marek Lemańczyk 305a489d6c Merge pull request #167 from mlemanczyk/codex/analyze-if-conditions-in-evenperfectbitscanner
Document unreachable guards in GPU by-divisor pipeline
2025-10-13 20:42:48 +02:00
Marek Lemańczyk f2eb6580c4 Comment unreachable configuration guards in by-divisor testers 2025-10-13 20:41:14 +02:00
Marek Lemańczyk b0ba6401ca Remove configuration locks from by-divisor testers 2025-10-13 20:41:07 +02:00
Marek Lemańczyk 6e89700f80 Clarify invariants across GPU divisor helpers 2025-10-13 20:41:00 +02:00
Marek Lemańczyk bccb2f43c9 Document unreachable guards in GPU by-divisor pipeline 2025-10-13 19:56:47 +02:00
Marek Lemańczyk 65e010ded5 Merge pull request #166 from mlemanczyk/codex/locate-montgomery-arithmetic-usage-in-gpu-kernels-ir9oyy
Align prime-order GPU pow2 kernel with plain modular helper
2025-10-13 18:21:54 +02:00
Marek Lemańczyk a255dc718d Restore snapshot missing-cycle guard 2025-10-13 18:21:22 +02:00
Marek Lemańczyk c81579865c Compute missing small divisor cycles on demand 2025-10-13 18:18:57 +02:00
Marek Lemańczyk c8d6143ab7 Simplify by-divisor buffer guards and document prime ordering 2025-10-13 18:12:06 +02:00
Marek Lemańczyk 594a38b9d7 Move by-divisor tests to large-cycle divisors 2025-10-13 18:05:58 +02:00
Marek Lemańczyk c0b6b29837 Document divisor invariants and refresh pow2 tests 2025-10-13 17:42:56 +02:00
Marek Lemańczyk af909e9e2d Simplify prime guards and adopt unified mulmod 2025-10-13 16:56:50 +02:00
Marek Lemańczyk 3f5904c340 Clarify windowed pow2 invariants and tidy Montgomery pooling 2025-10-13 14:30:06 +02:00
Marek Lemańczyk 79695b0c56 Switch GPU pow2mod helpers to plain windowed arithmetic 2025-10-13 14:21:35 +02:00
Marek Lemańczyk 1916196e89 Introduce windowed plain pow2mod helper for CPU checks 2025-10-13 14:21:28 +02:00
Marek Lemańczyk 73e27326a2 Use plain modular math for single-shot CPU checks 2025-10-13 14:21:22 +02:00
Marek Lemańczyk 092947e216 Remove GPU Montgomery usage tracker note 2025-10-13 12:19:01 +02:00
Marek Lemańczyk 716ffcb243 Route prime-order pow2 kernel through plain modular helper 2025-10-13 05:08:34 +02:00
Marek Lemańczyk e10394afa3 Merge pull request #165 from mlemanczyk/revert-164-codex/locate-montgomery-arithmetic-usage-in-gpu-kernels
Revert "Use standard modular math for single-use GPU exponent checks"
2025-10-13 05:00:42 +02:00
Marek Lemańczyk 8b02993bac Revert "Use standard modular math for single-use GPU exponent checks" 2025-10-13 04:59:42 +02:00
Marek Lemańczyk ad6a5c6e61 Merge pull request #164 from mlemanczyk/codex/locate-montgomery-arithmetic-usage-in-gpu-kernels
Use standard modular math for single-use GPU exponent checks
2025-10-13 04:59:36 +02:00
Marek Lemańczyk b07bf769c9 Switch single-use GPU exponent checks to standard modular math 2025-10-13 04:58:20 +02:00
Marek Lemańczyk 7ef0906a9b Merge pull request #163 from mlemanczyk/codex/analyze-caching-strategy-for-mersenne-path
Clarify per-divisor Montgomery recomputation
2025-10-13 03:43:36 +02:00
Marek Lemańczyk f9d51efe94 Clarify per-divisor Montgomery recomputation 2025-10-13 03:43:23 +02:00
Marek Lemańczyk b2b71f705a Merge pull request #162 from mlemanczyk/codex/analyze-execution-path-for-gpu-optimization
Batch CPU divisor scanning in reusable batches
2025-10-13 01:42:26 +02:00
Marek Lemańczyk 9e06a21718 Streamline GPU remainder batching tables 2025-10-13 01:35:50 +02:00
Marek Lemańczyk 483584b5d4 Add GPU options for by-divisor Montgomery data 2025-10-13 01:35:46 +02:00
Marek Lemańczyk ea29035c55 Use GpuUInt128 in by-divisor GPU scan 2025-10-13 01:35:40 +02:00
Marek Lemańczyk cd47b122a5 Batch GPU remainder filtering for by-divisor scan 2025-10-13 01:35:36 +02:00
Marek Lemańczyk cfedfd12c8 Restore CPU by-divisor flow when GPU deltas disabled 2025-10-13 01:35:32 +02:00
Marek Lemańczyk 41e6703926 Add dedicated GPU residue evaluator for by-divisor deltas 2025-10-13 01:35:26 +02:00
Marek Lemańczyk 0902b18721 Add GPU delta routing option for by-divisor mode 2025-10-13 01:35:21 +02:00
mlemanczyk 67dcf3ac7b Local variables optimized for reuse and lowered registry pressure. 2025-10-12 23:57:58 +02:00
Marek Lemańczyk 681e9a4a5e Batch CPU divisor scanning across reusable buffers 2025-10-12 22:46:58 +02:00
mlemanczyk 77ef93eb91 Standardized on neutral naming for easier reuse 2025-10-12 21:19:54 +02:00
mlemanczyk fcfb6f6434 New benchmarks added. Tiny optimization 2025-10-12 21:17:21 +02:00
mlemanczyk 8c0320d837 Add optimized 2025-10-12 20:25:43 +02:00
mlemanczyk 0ff93e1d09 MulAdd optimized 2025-10-12 20:18:35 +02:00
mlemanczyk 6c4fa7fcf6 Benchmark selection restored 2025-10-12 20:15:38 +02:00
mlemanczyk 9e5ee36e6e Tiny optimization 2025-10-12 19:00:56 +02:00
Marek Lemańczyk e5486af49d Merge pull request #161 from mlemanczyk/codex/add-benchmarks-for-mutableuint128.multiplyadd
Restore original MultiplyAddInline implementation
2025-10-12 18:54:22 +02:00
Marek Lemańczyk 67d9f4be55 Restore original MultiplyAddInline logic 2025-10-12 18:54:05 +02:00
mlemanczyk d555e157f6 Calculation switched to typical O(N) 2025-10-12 18:23:06 +02:00
Marek Lemańczyk 7562f14b1c Merge pull request #160 from mlemanczyk/codex/remove-uint128-from-mutableuint128
Restore MutableUInt128 UInt128-based initialization
2025-10-12 16:03:26 +02:00
Marek Lemańczyk cc50e7376f Restore UInt128 initialization helpers 2025-10-12 16:03:10 +02:00
Marek Lemańczyk 808bf64fab Merge pull request #159 from mlemanczyk/codex/update-pow2mod-to-use-montgomery
Switch Pow2Mod kernel to non-windowed Montgomery exponentiation
2025-10-12 05:44:53 +02:00
Marek Lemańczyk 86989d0502 Replace Pow2Mod kernel with Montgomery binary ladder 2025-10-12 05:44:39 +02:00