Commit Graph
32 Commits
Author SHA1 Message Date
mlemanczyk 5df2cc7f9b using cleaned up. 2025-12-10 23:59:04 +01:00
mlemanczyk 05d3061c47 MethodImplOptions.AggressiveOptimization & MethodImplOptions.AggressiveInlining optimized. Small optimizations. 2025-12-10 19:59:51 +01:00
mlemanczyk b9ca95bf8c PrimeOrderCalculatorAccelerator.Rent is now created outside of the loops and re-used for all calculations. 2025-11-24 22:51:53 +01:00
mlemanczyk 57a50e2a37 Pow2Mod kernel specific methods moved to Pow2MontgomeryKernels. 2025-11-24 18:04:07 +01:00
mlemanczyk 070e2a14fd MontgomeryDivisorData converted to a pooled class to limit GC pressure. MontgomeryDivisorDataGpu added for GPU operations. PrimeOrderCalculator kernels precompiled during warmup. 2025-11-24 15:14:31 +01:00
mlemanczyk 801b1be3e3 Cleanup 2025-11-18 04:22:39 +01:00
mlemanczyk c53aa517f7 GpuScratchBuffer / -Pool naively integrated with PriemOrderCalculatorAccelerator (formerly Pow2MontgomeryAccelerator). FactorEntry replaced with 2 arrays - unused field removed. Small cleanup. 2025-11-13 14:41:27 +01:00
mlemanczyk d0b1639a5d GPU stabilization improvements to prevent calculation crashes 2025-11-09 21:52:16 +01:00
mlemanczyk 8e779c5c9e GpuKernelLease removed 2025-11-07 15:36:45 +01:00
mlemanczyk 0410fd2c91 PooledContext removal - continuation. GpuKernelLease prepared for removal. 2025-11-07 14:13:11 +01:00
mlemanczyk f4e365194d GpuContextPool removed, because we share context and accelerator between threads, using streams to separate. 2025-11-07 12:52:20 +01:00
mlemanczyk 119690086a ConcurrentDictionary removed. Kernel made dependent on the shared GPU context. 2025-11-07 10:16:33 +01:00
mlemanczyk de2a78b27b Streams added to all kernels and GPU operations to separate threads from each other. 2025-11-06 18:53:55 +01:00
mlemanczyk 64d615c402 Various optimizations to separate non-static data between threads and resolve read/write access issue. 2025-11-04 20:45:56 +01:00
Marek Lemańczyk 3304335072 Rename CPU Montgomery multiply and align GPU helper 2025-10-28 21:06:40 +01:00
Marek Lemańczyk eaee599f25 Use GPU-safe Montgomery multiply in kernels 2025-10-28 20:58:02 +01:00
Marek Lemańczyk de7ddd8db3 Remove GPU context creation lock 2025-10-28 13:26:20 +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 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 2888a1f9b3 Deprecate MulMod64Gpu and migrate host callers 2025-10-24 22:00:41 +02:00
Marek Lemańczyk bbe0c02069 Use bit masks for divisor heuristics 2025-10-24 19:50:27 +02:00
Marek Lemańczyk cc281ab423 Refactor GPU powmod helpers into ULongExtensions 2025-10-24 17:26:55 +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 1809ba95b3 Inline GpuUInt128 Mul64 helper 2025-10-20 13:30:34 +02:00
Marek Lemańczyk 79e8706644 Restore original guard comments in pow2 helpers 2025-10-19 20:21:09 +02:00
Marek Lemańczyk 37ab77e5db Restore GPU executor commented catch guidance 2025-10-19 06:10:54 +02:00
Marek Lemańczyk 75f815567d Remove try/finally from GPU Montgomery executor 2025-10-19 06:03:39 +02:00