Commit Graph
68 Commits
Author SHA1 Message Date
mlemanczyk 260aa19e44 Pools renamed to FixedCapacityPools. Other fixed capacity collections added. Queues, concurrent queues and standard stacks replaced with fixed capacity stacks. MethodImplOptions.AggressiveInlining and .AggressiveOptimization added to simple methods and getters / setters. Variables optimized in few places. 2025-12-11 21:10:19 +01:00
mlemanczyk 05d3061c47 MethodImplOptions.AggressiveOptimization & MethodImplOptions.AggressiveInlining optimized. Small optimizations. 2025-12-10 19:59:51 +01:00
mlemanczyk f7dbc017a9 Modulo operators replaced with steppers, where possible. 2025-12-08 20:57:47 +01:00
mlemanczyk 928e847f1f AscendingdivisorRemainderStepper used in PrimeTesterByLastDigit 2025-12-05 14:17:24 +01:00
mlemanczyk 941733905b Hybrid device mode implemented as the current --mersenne=bydivisor CPU execution path. CPU path is now limited to CPU calculations, only. 2025-12-01 03:45:39 +01:00
mlemanczyk c311b27dcc Prime testing using divisor tables depending on the last digit separated to its own class. PrimeTester switched back to standard endings. 2025-11-27 16:45:02 +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 801b1be3e3 Cleanup 2025-11-18 04:22:39 +01:00
mlemanczyk 42447c4e43 BinaryGcd switched to the best performing variant according to benchmarks. 2025-11-14 11:43:16 +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 9a0e328995 Reintroduce MulHigh CPU helper and tighten GPU sieve loop 2025-10-26 23:41:14 +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 9540a9935d Restore cycle remainder TODO comments 2025-10-20 16:06:46 +02:00
Marek Lemańczyk ea2476c749 Clarify modular helper invariants 2025-10-20 11:52:04 +02:00
Marek Lemańczyk c892e1c30c Trim unreachable MulMod conditionals 2025-10-20 11:48:10 +02:00
Marek Lemańczyk 94323c2e8c Document unreachable MulMod guards 2025-10-20 11:48:07 +02:00
Marek Lemańczyk 34240ab3e9 Consolidate MulMod helpers across CPU factoring path 2025-10-20 11:12:39 +02:00
Marek Lemańczyk 79e8706644 Restore original guard comments in pow2 helpers 2025-10-19 20:21:09 +02:00
Marek Lemańczyk 75f815567d Remove try/finally from GPU Montgomery executor 2025-10-19 06:03:39 +02:00
Marek Lemańczyk 8108d973ca Restore initialization guidance comments 2025-10-18 23:18:11 +02:00
Marek Lemańczyk 8adeb59acc Fix kernel integration compile errors 2025-10-18 18:01:52 +02:00
Marek Lemańczyk 6217ea7888 Document GPU kernel audit progress 2025-10-18 17:42:33 +02:00
mlemanczyk 5fbd5bc20c Small optimizations. Branches which we don't visit in runtime disabled. TODOs added. 2025-10-18 14:20:46 +02:00
mlemanczyk 43cf4a978f Smaller optimizations. Division by zero fixed? 2025-10-17 14:18:49 +02:00
Marek Lemańczyk 67ad36420a Add GPU kernel for small prime factoring 2025-10-17 05:31:07 +02:00
mlemanczyk 56e413064a Using cleanup 2025-10-17 02:40:51 +02:00
Marek Lemańczyk 949b5f891c Return windowed Montgomery odd powers to pooling 2025-10-16 04:52:22 +02:00
Marek Lemańczyk 3e7bffc812 Refactor heuristic pooling to cut GC pressure 2025-10-16 00:37:01 +02:00
Marek Lemańczyk 51730bcba3 Reduce GC pressure in divisor checking pipeline 2025-10-15 23:43:27 +02:00
Marek Lemańczyk c9ae56a5ec Remove default prime order overloads 2025-10-10 21:51:41 +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 ce1355c749 Compilation errors fixed 2025-10-05 13:13:47 +02:00
Marek Lemańczyk 6b1ebf01a6 Replace inline array in Montgomery table for GPU support 2025-10-05 06:42:38 +02:00
Marek Lemańczyk abab307da4 Fix GPU-safe Montgomery window exponentiation 2025-10-05 06:35:18 +02:00
Marek Lemańczyk 75586d07b8 Relax ulong multiply-shift guards and refresh tests 2025-10-04 22:40:18 +02:00
Marek Lemańczyk 38df505f4f Implement GPU pow2 heuristics with safe fallbacks 2025-10-04 22:40:12 +02:00
Marek Lemańczyk 6adac6b7a7 Consolidate multiply helpers and guard GPU fallbacks 2025-10-04 21:20:29 +02:00
Marek Lemańczyk 941b51ebcf Windowed Pow2Mod implemented and integrated across repository. 2025-10-03 19:37:15 +02:00
Marek Lemańczyk f9e548279c Benchmark results and TODOs added / updated 2025-10-02 15:00:30 +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 604e91b3e3 Return scalar MulMod results and benchmark native reducers 2025-10-01 00:41:27 +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 28ee92b1b9 Performance improvements 2025-09-30 03:12:33 +02:00
Marek Lemańczyk f63254f0f0 Refactor GPU-compatible Mul64 handling 2025-09-29 22:35:46 +02:00
Marek Lemańczyk 9b7611fe62 Trim GPU exponent batches using cached divisor cycles 2025-09-25 20:23:25 +02:00
Marek Lemańczyk 9b9c6959be Reuse cycle remainder stepper in by-divisor testers 2025-09-25 18:51:47 +02:00