Commit Graph
933 Commits
Author SHA1 Message Date
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
mlemanczyk f7dbc017a9 Modulo operators replaced with steppers, where possible. 2025-12-08 20:57:47 +01:00
mlemanczyk 475507ce0c Results updated. 2025-12-08 16:39:07 +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 fbf074ade0 Results updated. 2025-12-07 13:48:11 +01:00
mlemanczyk 3f9cd53efc Results updated. 2025-12-07 00:21:57 +01:00
mlemanczyk a4c52e7282 Results updated. 2025-12-06 23:24:03 +01:00
mlemanczyk 9af8244040 Results updated. 2025-12-06 20:12:09 +01:00
mlemanczyk 788e11588e README updated. 2025-12-06 20:11:56 +01:00
mlemanczyk c44d188720 --mersenne=residue filtering results added. 2025-12-06 19:47:25 +01:00
mlemanczyk 3cde986fa0 Results file updated 2025-12-06 15:24:11 +01:00
mlemanczyk 573781f086 Results updated 2025-12-06 12:33:00 +01:00
mlemanczyk 374bf5fe53 Readme updated. 2025-12-06 11:33:00 +01:00
mlemanczyk 946798affe Results consolidated into one, raw file 2025-12-06 11:30:38 +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 efb4933935 Tiny cleanup 2025-12-04 12:34:42 +01:00
mlemanczyk 19e549adc5 Readme extended. Added excluded candidates without recording the factor. 2025-12-04 12:27:44 +01:00
mlemanczyk bce11e0842 Factors from primality tests added. 2025-12-04 12:16:09 +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