mlemanczyk
|
a6d408f2aa
|
Predictive scanning implemented for bydivisor method.
|
2026-01-03 20:01:22 +01:00 |
|
mlemanczyk
|
ef8034b258
|
Results updated.
|
2026-01-03 01:41:10 +01:00 |
|
mlemanczyk
|
6b80e31e6c
|
Pow2MontgomeryModWindowedConvertToStandardCpu usages replaced with a comparison to MontgomeryOne avoiding unnecessary conversions. Results updated.
|
2026-01-03 01:37:40 +01:00 |
|
mlemanczyk
|
3f59cdc14b
|
Results updated, including trivial divisors.
|
2026-01-02 23:46:54 +01:00 |
|
mlemanczyk
|
ce3079a48e
|
Restored CalculateOrderKernelLauncher kernel setup.
|
2026-01-02 23:46:30 +01:00 |
|
mlemanczyk
|
f3ed5b04a1
|
Improvements to recognize cases when we only find trivial divisors for p. Not fully fixed, yet.
|
2026-01-02 23:39:32 +01:00 |
|
mlemanczyk
|
0d11199ef2
|
Results updated.
|
2025-12-30 19:45:17 +01:00 |
|
mlemanczyk
|
bfb3bcb1e3
|
Fixed issue with treating Mersenne's number as valid divisor for p.
|
2025-12-29 22:44:14 +01:00 |
|
mlemanczyk
|
be92ef1ae3
|
Compilation error fixed.
|
2025-12-29 05:49:45 +01:00 |
|
mlemanczyk
|
7e00a73174
|
Results updated.
|
2025-12-28 18:37:34 +01:00 |
|
mlemanczyk
|
e02264d3f1
|
Results updated
|
2025-12-28 12:34:29 +01:00 |
|
mlemanczyk
|
48ff886fb2
|
Dictionary extended
|
2025-12-28 12:28:42 +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
|
759614de54
|
Fixed invalid index return when EnvironmentConfig.RollingAccelerators is 1.
|
2025-12-28 00:14:23 +01:00 |
|
mlemanczyk
|
3342ead2d4
|
DeviceDependentGenerator modified to create all classes in "generated" folder and clean up generated files during dotnet clean process.
|
2025-12-28 00:13:30 +01:00 |
|
mlemanczyk
|
75a2017385
|
Heuristic and small prime factor kernels restored in PrimeOrderAcceleratorTemplate.
|
2025-12-28 00:12:39 +01:00 |
|
mlemanczyk
|
6603f65993
|
New numbers added for quick and easy reuse without struct creations.
|
2025-12-28 00:12:39 +01:00 |
|
mlemanczyk
|
6678f24887
|
Race condition fixed
|
2025-12-25 23:14:12 +01:00 |
|
mlemanczyk
|
2bf9ff233c
|
PrimeOrderCalculator converted to a template.
|
2025-12-21 18:02:59 +01:00 |
|
mlemanczyk
|
48df3df290
|
Fix to update pending list entry with the updated one, after PartialFactorPendingEntry was converted back to struct.
|
2025-12-20 16:46:57 +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
|
c9a421a1b4
|
Merge branch 'simplify-bydivisor' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into simplify-bydivisor
|
2025-12-19 19:02:06 +01:00 |
|
mlemanczyk
|
d32eea0212
|
DeviceDependentGenerator extended to allow generation of enum dependent templates. Name suffix separate to its own attribute.
|
2025-12-19 19:01:38 +01:00 |
|
mlemanczyk
|
9ff0431f59
|
DeviceDependentGenerator extended to allow generation of enum dependent templates. Name suffix separate to its own attribute.
|
2025-12-19 19:01:27 +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
|
74837a407e
|
MersenneDivisorCycles converted to device template.
|
2025-12-19 04:03:27 +01:00 |
|
mlemanczyk
|
31ecf24522
|
TODOs added.
|
2025-12-19 00:10:21 +01:00 |
|
mlemanczyk
|
870819dec6
|
MersenneNumberDivisorByDivisorCpuTesterWithTemplate optimizations
|
2025-12-19 00:10:09 +01:00 |
|
mlemanczyk
|
4edad10be8
|
MethodImpl attributes adjustments.
|
2025-12-18 20:10:41 +01:00 |
|
mlemanczyk
|
ed299edf56
|
MersenneNumberDivisorByDivisorCpuTesterWithCpuOrder, MersenneNumberDivisorByDivisorCpuTesterWithHybridOrder & MersenneNumberDivisorByDivisorCpuTesterWithGpuOrder converted to device dependent template MersenneNumberDivisorByDivisorCpuTesterWithTemplate.
|
2025-12-18 20:10:20 +01:00 |
|
mlemanczyk
|
2236c3ec35
|
MersenneCpuDivisorScanSessionWithCpuOrder, MersenneCpuDivisorScanSessionWithHybridOrder & MersenneCpuDivisorScanSessionWithGpuOrder converted to device dependent templates
|
2025-12-18 19:46:21 +01:00 |
|
mlemanczyk
|
8ea975f2ed
|
DeviceDependentGenerator added to tasks.json. It can now generate the files during VS Code builds. Ignore list updated.
|
2025-12-18 09:39:56 +01:00 |
|
mlemanczyk
|
af7c9491e4
|
DeviceDependentGenerator can now add suffix to the name of the generated types.
|
2025-12-18 09:23:41 +01:00 |
|
mlemanczyk
|
0b226c76e8
|
#nullable added to auto-generated sources to allow compilations with nullability check enabled.
|
2025-12-18 09:09:08 +01:00 |
|
mlemanczyk
|
9faa397364
|
DeviceDependentGenerator added.
|
2025-12-18 07:37:53 +01:00 |
|
mlemanczyk
|
23748ad3d2
|
MethodImpl attributes added. Unnecessary try...finally blocks removed.
|
2025-12-18 05:31:27 +01:00 |
|
mlemanczyk
|
189013b849
|
Results updated.
|
2025-12-18 05:09:52 +01:00 |
|
mlemanczyk
|
2abc6aae49
|
--mersenne=bydivisor testers and sessions integrated and converted to structs.
|
2025-12-18 05:07:31 +01:00 |
|
mlemanczyk
|
3c80221105
|
MontgomeryDivisorDataPool.Rent / .Return removed as we no longer pool Montgomery divisor data. UInt128Extensions.MontgomeryDivisorDataPool variables optimized.
|
2025-12-16 02:27:29 +01:00 |
|
mlemanczyk
|
b7773adad8
|
PrimeOrderCalculator.ExponentLoweringCpu optimized to reuse factors & exponents span instead of its own buffers
|
2025-12-15 20:22:03 +01:00 |
|
mlemanczyk
|
6d427c6906
|
Results updated.
|
2025-12-15 17:23:22 +01:00 |
|
mlemanczyk
|
566cbc3599
|
PrimeOrderCalculator.Cpu optimizations.
|
2025-12-15 17:22:55 +01:00 |
|
mlemanczyk
|
5523469e8a
|
Results updated.
|
2025-12-15 07:31:19 +01:00 |
|
mlemanczyk
|
046cfe7d26
|
BuildDivisorTransitions application added.
|
2025-12-15 07:30:29 +01:00 |
|
mlemanczyk
|
97fd041ec0
|
Tiny cleanup for improved readability.
|
2025-12-15 04:37:03 +01:00 |
|
mlemanczyk
|
2c18818ac8
|
PrimeOrderCalculator.PopulateSmallPrimeFactorsCpu, .ExtractSmallPrimeExponent & ULongExtensions.ReduceCycleRemainder optimized.
|
2025-12-15 04:36:47 +01:00 |
|
mlemanczyk
|
048d1576ef
|
Tiny cleanup.
|
2025-12-15 04:33:09 +01:00 |
|
mlemanczyk
|
dce598c857
|
Results updated.
|
2025-12-15 04:32:23 +01:00 |
|
mlemanczyk
|
a8a41c6132
|
Results updated.
|
2025-12-15 04:12:07 +01:00 |
|
mlemanczyk
|
7c3ed34df3
|
Results updated.
|
2025-12-15 04:05:10 +01:00 |
|
mlemanczyk
|
695e164f51
|
Results updated.
|
2025-12-15 04:04:52 +01:00 |
|
mlemanczyk
|
974b1da873
|
Small optimizations
|
2025-12-14 01:35:13 +01:00 |
|
mlemanczyk
|
e0daccdc1a
|
BTree fine-tuned.
|
2025-12-14 00:19:53 +01:00 |
|
mlemanczyk
|
bca059c4f2
|
Initial BTree version implemented.
|
2025-12-14 00:03:51 +01:00 |
|
mlemanczyk
|
e8cca74f68
|
DeeterministicRandom types optimized.
|
2025-12-13 16:00:28 +01:00 |
|
mlemanczyk
|
1b3882addc
|
PrimeOrderCalculator.PartialFactorCpu variables optimized. Removed constant parameter from AddFactorToCollector.
|
2025-12-13 15:36:32 +01:00 |
|
mlemanczyk
|
0fb5a5fa10
|
Merge branch 'simplify-bydivisor' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into simplify-bydivisor
|
2025-12-13 14:29:25 +01:00 |
|
mlemanczyk
|
079b2d5b72
|
PartialFactorPendingEntry changed back to struct for better performance.
|
2025-12-13 14:28:01 +01:00 |
|
mlemanczyk
|
96bb6a4340
|
PartialFactorPendingEntry changed back to struct for better performance.
|
2025-12-13 14:26:55 +01:00 |
|
mlemanczyk
|
a185149eba
|
PrimeOrderCalculator.PartiaFactorCpu optimized to use one-time allocation list and stack.
|
2025-12-13 14:21:37 +01:00 |
|
mlemanczyk
|
9fcd21b734
|
Results updated.
|
2025-12-13 13:37:01 +01:00 |
|
mlemanczyk
|
cbf3dfcf2e
|
Results updated.
|
2025-12-13 05:12:22 +01:00 |
|
mlemanczyk
|
ec080ade7f
|
PendingEntry renamed to PartialFactorPendingEntry and moved to its own file. PrimeOrderCalculator.PartialFactor partially optimized to use fixed buffers factors & exponents.
|
2025-12-13 05:11:02 +01:00 |
|
mlemanczyk
|
8fbe248a49
|
Revert "Reusable buffers introduced."
This reverts commit 39a66fdef1.
|
2025-12-13 04:17:30 +01:00 |
|
mlemanczyk
|
39a66fdef1
|
Reusable buffers introduced.
|
2025-12-13 04:16:05 +01:00 |
|
mlemanczyk
|
fd58079c5a
|
Results updated.
|
2025-12-13 04:03:05 +01:00 |
|
mlemanczyk
|
964bc8b734
|
Results updated.
|
2025-12-12 23:35:47 +01:00 |
|
mlemanczyk
|
d9bff88055
|
Results updated.
|
2025-12-12 22:06:37 +01:00 |
|
mlemanczyk
|
2607c6e2d4
|
Results updated.
|
2025-12-12 20:26:43 +01:00 |
|
mlemanczyk
|
e8e67ebf83
|
Results updated.
|
2025-12-12 18:50:52 +01:00 |
|
mlemanczyk
|
ca3785c20d
|
Results updated.
|
2025-12-12 18:48:07 +01:00 |
|
mlemanczyk
|
8b0d09cc9c
|
Fixed capacity stack improvements to make sure that each thread gets its own instance.
|
2025-12-12 14:43:49 +01:00 |
|
mlemanczyk
|
8a5a8a7bb5
|
Results updated.
|
2025-12-12 11:51:28 +01:00 |
|
mlemanczyk
|
382f0c01a2
|
Results updated.
|
2025-12-12 04:53:13 +01:00 |
|
mlemanczyk
|
3e591586fb
|
Results updated.
|
2025-12-12 04:10:15 +01:00 |
|
mlemanczyk
|
d066c780ea
|
Results updated.
|
2025-12-12 03:46:42 +01:00 |
|
mlemanczyk
|
15bcde1776
|
SemaphoreSlim replaced with PollingSemaphore.
|
2025-12-12 03:41:13 +01:00 |
|
mlemanczyk
|
471f9ac6cf
|
Results updated.
|
2025-12-12 03:33:26 +01:00 |
|
mlemanczyk
|
8afd761d2a
|
Results updated.
|
2025-12-12 03:18:04 +01:00 |
|
mlemanczyk
|
477d2675ef
|
Results updated.
|
2025-12-12 01:52:25 +01:00 |
|
mlemanczyk
|
10f0fa272c
|
Results updated.
|
2025-12-12 01:05:58 +01:00 |
|
mlemanczyk
|
45c477de5a
|
DefaultThreadPoolCapacity updated to avoid too big arrays without reason.
|
2025-12-12 00:57:51 +01:00 |
|
mlemanczyk
|
49e47b161d
|
Tiny cleanup. Namespace updated.
|
2025-12-12 00:56:33 +01:00 |
|
mlemanczyk
|
43376745f5
|
Benchmarks to compare Interlocked with Atomic added. Atomic replaced with Interlocked on CPU path as better performer.
|
2025-12-11 23:45:01 +01:00 |
|
mlemanczyk
|
0ec48f1f0b
|
Tiny cleanup
|
2025-12-11 23:27:25 +01:00 |
|
mlemanczyk
|
51284be4fb
|
Micro-optimizations and adjustments.
|
2025-12-11 22:50:47 +01:00 |
|
mlemanczyk
|
8f0cc17d90
|
PoolingSemaphore optimized.
|
2025-12-11 21:46:07 +01:00 |
|
mlemanczyk
|
60ccb3db74
|
Results updated.
|
2025-12-11 21:10:37 +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
|
547d43de84
|
ExponentRemainderStepperCpu local variables optimized. Cache is now driven by manually calculated key to avoid unnecessary allocations.
|
2025-12-11 05:29: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
|
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
|
72890bf343
|
Dictionary and List pooling added in PrimeOrderCalculator.Cpu.
|
2025-12-08 21:03:25 +01:00 |
|
mlemanczyk
|
7518ba396e
|
Results updated.
|
2025-12-08 20:59:18 +01:00 |
|