49 Commits
Author SHA1 Message Date
mlemanczyk 04545c93b4 Prime testing pipeline adjusted to match other methods. 2026-01-22 15:45:47 +01:00
mlemanczyk d88ad25476 Initial BitTree implementation added. 2026-01-09 16:13:16 +01:00
mlemanczyk 45e3455ff3 DivisorSet.BitContradiction mode added to --mersenne=bydivisor. 2026-01-04 17:59:02 +01:00
mlemanczyk 6a924f4041 DivisorSet.Percentile, Additive and TopDown modes implemented. State files ported to LMDB => FASTER to avoid millions of files in folders. 2026-01-04 12:17:27 +01:00
mlemanczyk a6d408f2aa Predictive scanning implemented for bydivisor method. 2026-01-03 20:01:22 +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 74837a407e MersenneDivisorCycles converted to device template. 2025-12-19 04:03:27 +01:00
mlemanczyk 23748ad3d2 MethodImpl attributes added. Unnecessary try...finally blocks removed. 2025-12-18 05:31:27 +01:00
mlemanczyk 2abc6aae49 --mersenne=bydivisor testers and sessions integrated and converted to structs. 2025-12-18 05:07:31 +01:00
mlemanczyk 97fd041ec0 Tiny cleanup for improved readability. 2025-12-15 04:37:03 +01:00
mlemanczyk e8cca74f68 DeeterministicRandom types optimized. 2025-12-13 16:00:28 +01:00
mlemanczyk f76cf05e10 Exception message added to console output. 2025-12-08 02:49:57 +01:00
mlemanczyk 86f20ed083 Support for q > 2^64 added in --mersenne=bydivisor mode 2025-12-05 23:33:21 +01:00
mlemanczyk 928e847f1f AscendingdivisorRemainderStepper used in PrimeTesterByLastDigit 2025-12-05 14:17:24 +01:00
mlemanczyk f43c67c86f Tasks will now save calculations progress and resume calculation upon restart. 2025-12-02 00:42:38 +01:00
mlemanczyk 67c1d9309a Reusing prime work limiter to limit the number of active threads. 2025-11-30 15:37:01 +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 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 43863d03fb Performance improvements 2025-11-13 00:51:32 +01:00
mlemanczyk 735bfa1557 GPU accelerator recycled for better performance. 2025-11-12 07:39:52 +01:00
mlemanczyk fa89958736 Stabilization improvements. Stream will be released when releasing GPU lease to prevent application crashes. 2025-11-10 14:30:30 +01:00
mlemanczyk d0b1639a5d GPU stabilization improvements to prevent calculation crashes 2025-11-09 21:52:16 +01:00
mlemanczyk 3d43d52f2e Console logging updated 2025-10-28 16:04:42 +01:00
Marek Lemańczyk c4c783610b Add start gate to by-divisor task scheduling 2025-10-28 15:32:15 +01:00
Marek Lemańczyk 29f58e3059 Refactor by-divisor scheduling to use task thread pool 2025-10-28 15:11:21 +01:00
mlemanczyk 139899fa5e More console logs added. 2025-10-28 02:11:24 +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
mlemanczyk 5276d9d27b Merge branch 'codex/optimize-gpu-memory-usage-in-kernels' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into codex/optimize-gpu-memory-usage-in-kernels 2025-10-25 05:59:55 +02:00
mlemanczyk 74ab4e91e6 Console logging info added to know when a task starts & completes 2025-10-25 05:59:47 +02:00
Marek Lemańczyk 8e5a1cd4c7 Batch by-divisor GPU tasks across prime ranges 2025-10-25 05:58:50 +02:00
Marek Lemańczyk f672ff520c Avoid redundant compaction buffer clearing on GPU 2025-10-23 01:16:58 +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
Marek Lemańczyk 7adea979fb Move by-divisor comments ahead of disabled guards 2025-10-17 18:14:01 +02:00
Marek Lemańczyk 70637c3fba Add unbounded task scheduler for divisor testing 2025-10-17 11:26:28 +02:00
mlemanczyk 56e413064a Using cleanup 2025-10-17 02:40:51 +02:00
mlemanczyk 2f85636a2a Tiny cleanup 2025-10-15 03:21:38 +02:00
mlemanczyk d3695a3dc3 Pools made thread static. Various small optimizations. "in" parameter added to read-only method parameters 2025-10-15 02:17:13 +02:00
mlemanczyk ee2df92a15 Performance improvement to decrease startup time. 2025-10-10 22:48:28 +02:00
Marek Lemańczyk adac9ff5f9 Compact by-divisor candidate filtering 2025-10-08 23:34:35 +02:00
Marek Lemańczyk 9a81f5f685 Enable parallel by-divisor scanning threads 2025-10-08 22:45:53 +02:00
Marek Lemańczyk d3cd408d3d Document patch header requirements 2025-10-03 22:32:27 +02:00
Marek Lemańczyk 941b51ebcf Windowed Pow2Mod implemented and integrated across repository. 2025-10-03 19:37:15 +02:00
Marek Lemańczyk ebe48d5f2f Divisor-Cycle Cache Rework 2025-10-02 19:53:09 +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 1ba04047c1 Extract by-divisor scanner into shared tester 2025-09-29 20:49:01 +02:00