mlemanczyk
|
f7dbc017a9
|
Modulo operators replaced with steppers, where possible.
|
2025-12-08 20:57:47 +01:00 |
|
mlemanczyk
|
5c91d79927
|
State saving frequency increased to prevent too many re-calculations during frequent restarts.
|
2025-12-08 16:35:24 +01:00 |
|
mlemanczyk
|
6e68252279
|
Status update improvement.
|
2025-12-08 02:53:27 +01:00 |
|
mlemanczyk
|
f1109330df
|
Default no. of accelerators increased back to 298 (max without exceptions). State saving interval decreased to limit unnecessary overhead.
|
2025-12-08 02:51:04 +01:00 |
|
mlemanczyk
|
f76cf05e10
|
Exception message added to console output.
|
2025-12-08 02:49:57 +01:00 |
|
mlemanczyk
|
d69ad9c64a
|
State saving interval decreased.
|
2025-12-07 19:17:09 +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
|
cf5bd6bc1a
|
PendingEntry.WithPrimality changed to modify the instance instead of creating a new one.
|
2025-12-05 15:51:16 +01:00 |
|
mlemanczyk
|
928e847f1f
|
AscendingdivisorRemainderStepper used in PrimeTesterByLastDigit
|
2025-12-05 14:17:24 +01:00 |
|
mlemanczyk
|
b3a325521a
|
PrimeTester.IsPrimeCpu will now reuse remainders from previous checks.
|
2025-12-04 12:39:56 +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
|
85a90c70bf
|
--gpu-ration command-line argument added. AscendingDivisorRemainderStepper implemented in PrimeTester.IsPrimeCpu. PrimeOrderCalculator.RunOnCpu adjusted for low GPU ratios to prevent infinite increase of the counter.
|
2025-12-02 23:36:18 +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
|
353a121d03
|
Alternative to SemaphoreSlim added
|
2025-11-30 15:41:00 +01:00 |
|
mlemanczyk
|
c3254e3fda
|
Temporary restored delegating all work to CPU in CPU mode in preparation for a branch-less split.
|
2025-11-30 15:40:03 +01:00 |
|
mlemanczyk
|
67c1d9309a
|
Reusing prime work limiter to limit the number of active threads.
|
2025-11-30 15:37:01 +01:00 |
|
mlemanczyk
|
fbfc682899
|
Restored heuristic prime tester use
|
2025-11-30 15:35:56 +01:00 |
|
mlemanczyk
|
6a1198c417
|
CPU vs GPU work delegation adjusted to better utilize CPU.
|
2025-11-29 12:09:33 +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
|
a296e62d4d
|
--min-k command-line argument added. Partial factoring switched back to CPU.
|
2025-11-26 22:03:52 +01:00 |
|
mlemanczyk
|
13498dc460
|
Most device buffers integrated into PrimeOrderCalculatorAccelerator. PrimeOrderCalculator switched to partial factoring on GPU.
|
2025-11-26 03:16:39 +01:00 |
|
mlemanczyk
|
5b48a89448
|
Cleanup. Hint removed.
|
2025-11-25 01:34:31 +01:00 |
|
mlemanczyk
|
bacb2a1d18
|
Cleanup. Unnecessary GC collection removed. It doesn't limit RAM usage.
|
2025-11-25 01:30:59 +01:00 |
|
mlemanczyk
|
1e9bd49145
|
Cleanup. No longer applicable TODO removed.
|
2025-11-25 01:30:13 +01:00 |
|
mlemanczyk
|
47521e327a
|
Cleanup
|
2025-11-25 00:50:18 +01:00 |
|
mlemanczyk
|
e8b4c1fc83
|
Missing return of accelerator added
|
2025-11-25 00:34:17 +01:00 |
|
mlemanczyk
|
3e756b262e
|
Cleanup
|
2025-11-25 00:33:54 +01:00 |
|
mlemanczyk
|
e9787f2991
|
Cleanup. Completed TODO removed.
|
2025-11-24 23:53:09 +01:00 |
|
mlemanczyk
|
91894637af
|
Aggressive inlining added to simple switch methods.
|
2025-11-24 22:54:04 +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
|
07efd5d2a1
|
Accelerator locks removed
|
2025-11-23 14:59:29 +01:00 |
|
mlemanczyk
|
79021108f5
|
Tiny cleanup
|
2025-11-23 14:53:35 +01:00 |
|
mlemanczyk
|
6d1ff1372e
|
Factoring switched to PrimeTester.IsPrime for the best performance. PrimeOrderCalculator.PartialFactor switched to GPU factorization. Every so often it will send work to GPU instead of CPU. BatchedResources renamed to MersenneNumberDivisorByDivisorAccelerator for consistency and moved to its own file. It now uses array instead of dictionary for lookup free performance.
|
2025-11-23 00:07:03 +01:00 |
|
mlemanczyk
|
7b09c1fd3b
|
Missing accelerator returns to pool added
|
2025-11-20 15:57:07 +01:00 |
|
mlemanczyk
|
497b1fcf89
|
Kernels replaced with pre-compiled actions for better performance
|
2025-11-20 03:00:11 +01:00 |
|
mlemanczyk
|
df04ba601c
|
Various small optimizations and cleanups. Methods made static, where possible. Duplicated & slow PrimeTester.BinaryGcd implementation removed. Optimized version was used instead.
|
2025-11-20 01:43:29 +01:00 |
|
mlemanczyk
|
9939c5d562
|
Divisor will now be saved to CSV file
|
2025-11-19 22:14:28 +01:00 |
|
mlemanczyk
|
54fdff0a4e
|
GPU calculations frequency adjusted
|
2025-11-19 21:38:07 +01:00 |
|
mlemanczyk
|
5cac51479e
|
GPU memory allocations protected with lock to prevent shared memory access issues. GPU usage limited for the best performance.
|
2025-11-19 16:49:01 +01:00 |
|
mlemanczyk
|
02d16bf05c
|
Tiny cleanup
|
2025-11-18 06:02:43 +01:00 |
|
mlemanczyk
|
a5696ca17f
|
App crash fix related to unassigned value
|
2025-11-18 06:02:22 +01:00 |
|
mlemanczyk
|
56be12ab95
|
Cleanup & compilation fixes.
|
2025-11-18 04:45:18 +01:00 |
|
mlemanczyk
|
bc51962f9d
|
Cleanup
|
2025-11-18 04:37:11 +01:00 |
|
mlemanczyk
|
801b1be3e3
|
Cleanup
|
2025-11-18 04:22:39 +01:00 |
|
mlemanczyk
|
66ca969929
|
Naming improvements and small cleanup
|
2025-11-18 03:43:52 +01:00 |
|
mlemanczyk
|
bf7c4bab39
|
Accelerator buffers integrated
|
2025-11-18 01:13:12 +01:00 |
|