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 |
|