mlemanczyk
|
a6d408f2aa
|
Predictive scanning implemented for bydivisor method.
|
2026-01-03 20:01:22 +01:00 |
|
mlemanczyk
|
9a6a1968b7
|
Merge branch 'simplify-bydivisor' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into simplify-bydivisor
|
2025-12-28 00:59:18 +01:00 |
|
mlemanczyk
|
87a66e4eca
|
DivisorSet scans added as EnumDependentTemplate to MersenneNumberDivisorByDivisorCpuTesterWithTemplate. New Pow2Groups scan implemented based on statistics for high divisors. MersenneNumberDivisorByDivisorPrimeScan sessions integrated into MersenneNumberDivisorByDivisorPrimeScanSessionWithTemplate. Various micro optimizations to eliminate variable, unnecessary struct creations and continue scans in higher divisor ranges, when lower ranges are exhausted. --bydivisor-k-increment command-line argument added.
|
2025-12-28 00:45:08 +01:00 |
|
mlemanczyk
|
9391954b3e
|
DivisorSet scans added as EnumDependentTemplate to MersenneNumberDivisorByDivisorCpuTesterWithTemplate. New Pow2Groups scan implemented based on statistics for high divisors. MersenneNumberDivisorByDivisorPrimeScan sessions integrated into MersenneNumberDivisorByDivisorPrimeScanSessionWithTemplate. Various micro optimizations to eliminate variable, unnecessary struct creations and continue scans in higher divisor ranges, when lower ranges are exhausted. --bydivisor-k-increment command-line argument added.
|
2025-12-28 00:39:36 +01:00 |
|
mlemanczyk
|
9147124ddf
|
MersenneNumberTesterTemplate extended to depend on new enums: CacheStatus & OrderDevice instead of constructor parameters to limit code branches during execution.
|
2025-12-19 22:01:21 +01:00 |
|
mlemanczyk
|
c5c42b0c19
|
MersenneNumberTesterTemplate made dependent on the calculation method to eliminate unnecessary branching.
|
2025-12-19 20:01:45 +01:00 |
|
mlemanczyk
|
a21ab3134e
|
MersenneNumberTester converted to device dependent MersenneNumberTesterTemplate.
|
2025-12-19 18:25:27 +01:00 |
|
mlemanczyk
|
b53d00a8cc
|
EvenPerfectBitScanner fully migrated to MersenneDivisorCycles. Tiny optimization.
|
2025-12-19 04:38:01 +01:00 |
|
mlemanczyk
|
2abc6aae49
|
--mersenne=bydivisor testers and sessions integrated and converted to structs.
|
2025-12-18 05:07:31 +01:00 |
|
mlemanczyk
|
046cfe7d26
|
BuildDivisorTransitions application added.
|
2025-12-15 07:30:29 +01:00 |
|
mlemanczyk
|
5df2cc7f9b
|
using cleaned up.
|
2025-12-10 23:59:04 +01:00 |
|
mlemanczyk
|
7a242b3bfa
|
PrimeOrderCalculator.PartialFactorCpu simplified to work only with spans and throw exception if the number of factors is exceeded. PrimeOrderMode removed in favor of bool flag.
|
2025-12-10 12:47:25 +01:00 |
|
mlemanczyk
|
86f20ed083
|
Support for q > 2^64 added in --mersenne=bydivisor mode
|
2025-12-05 23:33:21 +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
|
6a1198c417
|
CPU vs GPU work delegation adjusted to better utilize CPU.
|
2025-11-29 12:09:33 +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
|
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
|
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
|
183b147135
|
Heuristic tables split into 2 groups
|
2025-11-17 16:04:27 +01:00 |
|
mlemanczyk
|
cd7636ddbe
|
Manual accelerator stream creations replaced with pool
|
2025-11-15 13:45:24 +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
|
45dfa3b724
|
Console logging extended with kernel warmup progress
|
2025-11-10 18:18:12 +01:00 |
|
mlemanczyk
|
d0b1639a5d
|
GPU stabilization improvements to prevent calculation crashes
|
2025-11-09 21:52:16 +01:00 |
|
mlemanczyk
|
0410fd2c91
|
PooledContext removal - continuation. GpuKernelLease prepared for removal.
|
2025-11-07 14:13:11 +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
|
4c4d4243fb
|
Merge remote-tracking branch 'github/codex/optimize-evenperfectbitscanner-for-static-arrays-khd9w8' into work
# Conflicts:
# PerfectNumbers.Core/Gpu/GpuContextPool.cs
# PerfectNumbers.Core/Gpu/GpuKernelLease.cs
# PerfectNumbers.Core/Gpu/GpuKernelPool.cs
# PerfectNumbers.Core/Gpu/GpuStaticTableInitializer.cs
# PerfectNumbers.Core/Gpu/Kernels/PrimeOrderSpecialMaxKernels.cs
# PerfectNumbers.Core/PrimeOrderCalculator.Cpu.cs
# PerfectNumbers.Core/PrimeOrderCalculator.Gpu.cs
# PerfectNumbers.Core/PrimeTester.cs
|
2025-11-03 23:59:12 +01:00 |
|
Marek Lemańczyk
|
1cbe7bf869
|
Use GpuPrimeWorkLimiter for GPU lease limiting
|
2025-11-02 14:02:15 +01:00 |
|
Marek Lemańczyk
|
00d4e9bde2
|
Add GPU lease warm-up and shared limiter
|
2025-11-02 13:47:57 +01:00 |
|
mlemanczyk
|
07be671726
|
Various small optimizations
|
2025-11-02 11:24:18 +01:00 |
|
Marek Lemańczyk
|
ab6a416de2
|
Warm GPU resources before thread startup
|
2025-11-02 11:22:28 +01:00 |
|
mlemanczyk
|
2281d9535e
|
Revert "Merge pull request #251 from mlemanczyk/codex/refactor-prime-checking-on-gpu-n5t2pm"
This reverts commit 936ce239db, reversing
changes made to e14b77e504.
|
2025-11-02 11:22:14 +01:00 |
|
mlemanczyk
|
22f20bfe98
|
Various small optimizations
|
2025-11-01 03:42:36 +01:00 |
|
Marek Lemańczyk
|
6864b316d5
|
Warm GPU resources before thread startup
|
2025-10-31 16:56:25 +01:00 |
|
mlemanczyk
|
fc5700f82c
|
IsPrime with cancellation token removed.
|
2025-10-29 22:31:28 +01:00 |
|
mlemanczyk
|
4c79c4087e
|
Various optimizations
|
2025-10-29 14:00:38 +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
|
8e5a1cd4c7
|
Batch by-divisor GPU tasks across prime ranges
|
2025-10-25 05:58:50 +02:00 |
|
mlemanczyk
|
4e553c951b
|
Additional console info added
|
2025-10-20 11:15:34 +02:00 |
|
Marek Lemańczyk
|
bad5c28fdf
|
Align scheduler thread count with CLI configuration
|
2025-10-20 00:01:21 +02:00 |
|
mlemanczyk
|
c0b8fa07a2
|
Tiny cleanup
|
2025-10-19 03:49:00 +02:00 |
|
Marek Lemańczyk
|
1e738f9e0d
|
Add CalculationResultsFile coverage
|
2025-10-19 03:35:59 +02:00 |
|
mlemanczyk
|
2c6e9f5460
|
Tiny clarification added
|
2025-10-19 01:22:00 +02:00 |
|
mlemanczyk
|
2dcc51bfc0
|
Tiny cleanup
|
2025-10-19 01:19:20 +02:00 |
|
mlemanczyk
|
ef5f91ddd0
|
TODO added. Small cleanup.
|
2025-10-19 01:16:12 +02:00 |
|
mlemanczyk
|
4ef7f636d2
|
Tiny cleanup
|
2025-10-19 00:57:41 +02:00 |
|
Marek Lemańczyk
|
56c8e84c19
|
Align bit transform comments with original implementation
|
2025-10-19 00:54:58 +02:00 |
|