Commit Graph
920 Commits
Author SHA1 Message Date
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
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