mlemanczyk
|
e8cca74f68
|
DeeterministicRandom types optimized.
|
2025-12-13 16:00:28 +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
|
131b3265bc
|
PrimeOrderCalculator.Cpu cleaned up - hybrid & GPU related methods moved to their corresponding files.
|
2025-12-11 00:00:12 +01:00 |
|
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
|
f7dbc017a9
|
Modulo operators replaced with steppers, where possible.
|
2025-12-08 20:57:47 +01:00 |
|
mlemanczyk
|
6887111128
|
BigInteger-friendly steppers added. MersenneResidueStepper converted to struct. Manual residue tracking replaced with steppers. Modulo operations replaced with steppers.
|
2025-12-07 19:16:45 +01:00 |
|
mlemanczyk
|
86f20ed083
|
Support for q > 2^64 added in --mersenne=bydivisor mode
|
2025-12-05 23:33:21 +01:00 |
|
mlemanczyk
|
86192a71b0
|
Divisor checking optimized to only flag if divisor was found or not without returning complete array of hits. We'll now also track residues for 13, 17 & 19 as the most frequent ones.
|
2025-12-03 00:57:25 +01:00 |
|
mlemanczyk
|
f43c67c86f
|
Tasks will now save calculations progress and resume calculation upon restart.
|
2025-12-02 00:42:38 +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
|
a296e62d4d
|
--min-k command-line argument added. Partial factoring switched back to CPU.
|
2025-11-26 22:03:52 +01:00 |
|
mlemanczyk
|
5b48a89448
|
Cleanup. Hint removed.
|
2025-11-25 01:34:31 +01:00 |
|
mlemanczyk
|
1e9bd49145
|
Cleanup. No longer applicable TODO removed.
|
2025-11-25 01:30:13 +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
|
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
|
79021108f5
|
Tiny cleanup
|
2025-11-23 14:53:35 +01:00 |
|
mlemanczyk
|
7b09c1fd3b
|
Missing accelerator returns to pool added
|
2025-11-20 15:57:07 +01:00 |
|
mlemanczyk
|
9939c5d562
|
Divisor will now be saved to CSV file
|
2025-11-19 22:14:28 +01:00 |
|
mlemanczyk
|
801b1be3e3
|
Cleanup
|
2025-11-18 04:22:39 +01:00 |
|
mlemanczyk
|
342eff2726
|
GpuKernelPool.GetOrAddKernels removed in --mersenne=bydivisor mode. PartialFactorResult.WithAdditionalPrime will now modify the current instance instead of creating new copy for better performance. SmallPrimeFactorViews renamed to SmallPrimeFactorGpuTables for consistency with other static tables.
|
2025-11-17 23:33:59 +01:00 |
|
mlemanczyk
|
f630bfb598
|
HeuristicCombinedPrimeTesterAccelerator integrated with PrimeOrderCalculatorAccelerator.
|
2025-11-17 17:38:23 +01:00 |
|
mlemanczyk
|
183b147135
|
Heuristic tables split into 2 groups
|
2025-11-17 16:04:27 +01:00 |
|
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
|
6dd5cea79f
|
Remove temporary by-divisor review documents
|
2025-10-28 02:01:28 +01:00 |
|
Marek Lemańczyk
|
94a4ed8328
|
Hoist prime order thresholds in CPU heuristics
|
2025-10-27 21:24:43 +01:00 |
|
Marek Lemańczyk
|
9bc8fd5043
|
Remove heuristic hooks from PrimeTester
|
2025-10-26 16:18:46 +01:00 |
|
Marek Lemańczyk
|
c01abbd03a
|
Restore legacy by-divisor scans for Mersenne testers
|
2025-10-26 16:04:09 +01:00 |
|
Marek Lemańczyk
|
a83ae56caf
|
Use LastDigit enum across Mersenne scanners
|
2025-10-26 16:04:05 +01:00 |
|
Marek Lemańczyk
|
43c7bafd5d
|
Restore CPU PrimeTester usage and rename fallback helpers
|
2025-10-26 15:19:49 +01:00 |
|
Marek Lemańczyk
|
15c229665d
|
Add heuristic prime sieves for cached divisor sequences
|
2025-10-26 03:21:29 +01:00 |
|
Marek Lemańczyk
|
fab9ba0413
|
Restore reviewed divisor heuristics
|
2025-10-24 19:50:32 +02:00 |
|
Marek Lemańczyk
|
bbe0c02069
|
Use bit masks for divisor heuristics
|
2025-10-24 19:50:27 +02:00 |
|
Marek Lemańczyk
|
1e5a9128cb
|
Split CPU and GPU exponent steppers
|
2025-10-24 08:49:53 +02:00 |
|
Marek Lemańczyk
|
7feeb08943
|
Clarify Pollard-Rho parity guard and seed CPU batches
|
2025-10-23 19:50:39 +02:00 |
|
Marek Lemańczyk
|
c697a7e127
|
Throw when divisor cycle resolution fails
|
2025-10-23 01:48:11 +02:00 |
|
Marek Lemańczyk
|
ff9b0122c0
|
Restore hit clearing when divisor cycle is missing
|
2025-10-23 01:48:06 +02:00 |
|
Marek Lemańczyk
|
f0b4cdf6e2
|
Avoid redundant clearing in CPU divisor sessions
|
2025-10-23 01:48:02 +02:00 |
|
Marek Lemańczyk
|
8acccce471
|
Add cycle cache hit tracking instrumentation
|
2025-10-20 19:28:06 +02:00 |
|
Marek Lemańczyk
|
1a4818c794
|
Add diagnostics for removed factorization cache
|
2025-10-20 19:22:02 +02:00 |
|
Marek Lemańczyk
|
28ff9292b8
|
Remove per-thread factorization cache
|
2025-10-20 19:08:44 +02:00 |
|
Marek Lemańczyk
|
481d1010e8
|
Retire outdated windowed pow2 TODOs
|
2025-10-20 18:37:21 +02:00 |
|
Marek Lemańczyk
|
4831fc84d1
|
Clean up resolved windowed pow2 TODOs on CPU paths
|
2025-10-20 18:36:51 +02:00 |
|
Marek Lemańczyk
|
653da2ccc3
|
Remove dead by-divisor cache fallback
|
2025-10-19 21:24:07 +02:00 |
|
Marek Lemańczyk
|
7adea979fb
|
Move by-divisor comments ahead of disabled guards
|
2025-10-17 18:14:01 +02:00 |
|
Marek Lemańczyk
|
8428e6c5bd
|
Clarify skip heuristic guard and tighten order factor init
|
2025-10-17 15:05:11 +02:00 |
|
mlemanczyk
|
56e413064a
|
Using cleanup
|
2025-10-17 02:40:51 +02:00 |
|
Marek Lemańczyk
|
571b5a9938
|
Replace divisor scan UInt128 usage with thread-static GpuUInt128
|
2025-10-15 22:48:36 +02:00 |
|
Marek Lemańczyk
|
9ab87a8b9b
|
Streamline factor cache lease usage in CPU tester
|
2025-10-15 21:55:30 +02:00 |
|
Marek Lemańczyk
|
64c3721db4
|
Streamline divisor factor pooling for CPU hot path
|
2025-10-15 21:50:11 +02:00 |
|