mlemanczyk
|
74837a407e
|
MersenneDivisorCycles converted to device template.
|
2025-12-19 04:03:27 +01:00 |
|
mlemanczyk
|
2c18818ac8
|
PrimeOrderCalculator.PopulateSmallPrimeFactorsCpu, .ExtractSmallPrimeExponent & ULongExtensions.ReduceCycleRemainder optimized.
|
2025-12-15 04:36:47 +01:00 |
|
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 |
|