Commit Graph
30 Commits
Author SHA1 Message Date
mlemanczyk 5bc65464d0 Initial PollardRho implementation for GPU. Added pool for accelerator streams shared across the threads. GPU processing performance and stabilization improvements. GpuUInt128.BinaryGcd switched to the version which outperformed other in benchmarks. 2025-11-12 21:18:30 +01:00
Marek Lemańczyk 04d4d18f37 Rename GPU mul-mod helper 2025-10-25 02:20:15 +02:00
Marek Lemańczyk d0ba08dd24 Fix GPU mul mod benchmark kernel initialization 2025-10-24 22:08:32 +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 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
Marek Lemańczyk d0c9389bcc Document GpuUInt128 MulMod shift benchmarking 2025-10-20 13:58:04 +02:00
Marek Lemańczyk 1809ba95b3 Inline GpuUInt128 Mul64 helper 2025-10-20 13:30:34 +02:00
mlemanczyk 56e413064a Using cleanup 2025-10-17 02:40:51 +02:00
Marek Lemańczyk c9ae56a5ec Remove default prime order overloads 2025-10-10 21:51:41 +02:00
Marek Lemańczyk 6918bd28ff Make by-divisor GPU kernels reuse read-only operands 2025-10-08 18:47:16 +02:00
Marek Lemańczyk cd1debe9d6 Various micro- and medium- optimizations 2025-10-07 22:14:34 +02:00
Marek Lemańczyk 20120f5bc0 Fix odd power table updates in GPU heuristics 2025-10-05 16:55:27 +02:00
Marek Lemańczyk 0bc97937aa Restore GPU-backed UInt128 pow2 Montgomery helper 2025-10-05 02:13:31 +02:00
Marek Lemańczyk 941b51ebcf Windowed Pow2Mod implemented and integrated across repository. 2025-10-03 19:37:15 +02:00
Marek Lemańczyk b8aa845c5c Clarify cycle stepper reset inlining 2025-10-02 13:30:56 +02:00
Marek Lemańczyk 36d316d19c Add TODOs for divisor metadata caching 2025-10-01 22:52:21 +02:00
Marek Lemańczyk 513fc7acb0 Optimizations and tiny cleanup 2025-10-01 13:02:07 +02:00
Marek Lemańczyk 604e91b3e3 Return scalar MulMod results and benchmark native reducers 2025-10-01 00:41:27 +02:00
Marek Lemańczyk 4bbdebc874 Optimizations and TODOs added 2025-09-30 20:22:01 +02:00
Marek Lemańczyk 8d44b75ca5 Cache native modulo bit masks 2025-09-30 17:13:43 +02:00
Marek Lemańczyk ebe3b306b9 Refine Mul64 benchmarks with GPU-friendly variant 2025-09-30 04:24:40 +02:00
Marek Lemańczyk daab18504b Performance improvements 2025-09-30 03:21:51 +02:00
Marek Lemańczyk 0bdf85730d Tiny optimization 2025-09-29 23:28:35 +02:00
Marek Lemańczyk f63254f0f0 Refactor GPU-compatible Mul64 handling 2025-09-29 22:35:46 +02:00
Marek Lemańczyk 7d112c347f Accelerate Mersenne modular multiplication paths 2025-09-22 23:24:19 +02:00
Marek Lemańczyk ab856c4995 Make GpuUInt128 mutable and update callers 2025-09-11 18:38:42 +02:00
Marek Lemańczyk 52a1e44811 Test batch Mersenne residue computation 2025-09-10 18:06:08 +02:00
Marek Lemańczyk 595f6129b6 Fix subtraction borrow in GpuUInt128 2025-09-09 22:22:23 +02:00
Marek Lemańczyk 9f35f6c558 Initial commit. 2025-09-09 21:15:57 +02:00