Commit Graph
32 Commits
Author SHA1 Message Date
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 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 07efd5d2a1 Accelerator locks removed 2025-11-23 14:59:29 +01:00
mlemanczyk 801b1be3e3 Cleanup 2025-11-18 04:22:39 +01:00
mlemanczyk 0540411cad Accelerator index added for dictionary-less use-cases 2025-11-15 02:21:45 +01:00
mlemanczyk d0b1639a5d GPU stabilization improvements to prevent calculation crashes 2025-11-09 21:52:16 +01:00
mlemanczyk f4e365194d GpuContextPool removed, because we share context and accelerator between threads, using streams to separate. 2025-11-07 12:52:20 +01:00
mlemanczyk de2a78b27b Streams added to all kernels and GPU operations to separate threads from each other. 2025-11-06 18:53:55 +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
mlemanczyk 07be671726 Various small optimizations 2025-11-02 11:24:18 +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
mlemanczyk 0d7df2e45b Unnecessary memory zeroing commented out. TODOs added for the remainders. 2025-10-23 19:42:03 +02:00
Marek Lemańczyk 6217ea7888 Document GPU kernel audit progress 2025-10-18 17:42:33 +02:00
Marek Lemańczyk 6918bd28ff Make by-divisor GPU kernels reuse read-only operands 2025-10-08 18:47:16 +02:00
Marek Lemańczyk 20120f5bc0 Fix odd power table updates in GPU heuristics 2025-10-05 16:55:27 +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 9b9c6959be Reuse cycle remainder stepper in by-divisor testers 2025-09-25 18:51:47 +02:00
Marek Lemańczyk d4dcd0a534 Implement multi-tier divisor cycle caching and per-thread reuse 2025-09-24 19:04:07 +02:00
Marek Lemańczyk 9becb8df67 using cleanup. 2025-09-23 22:00:31 +02:00
Marek Lemańczyk 860d64baba Tiny cleanup 2025-09-21 09:51:05 +02:00
Marek Lemańczyk 8e686fbe6e Harden GPU divisor scan buffer handling 2025-09-20 21:29:22 +02:00
Marek Lemańczyk 9f2cf12ce1 Guard GPU residue and divisor scans against overflow 2025-09-20 03:21:49 +02:00
Marek Lemańczyk 13e048c23d Allow exhaustive divisor scans with 128-bit limits 2025-09-15 14:15:35 +02:00
Marek Lemańczyk 58eb65ca9e Refine GPU residue utilities and add positive divisor tests 2025-09-13 16:47:38 +02:00
Marek Lemańczyk dd6d9a71cf Stack overflow fixed 2025-09-12 10:59:58 +02:00
Marek Lemańczyk 0535ad2b7b BuildDivisorCandidates moved to MersenneNumberDivisorGpuTester. Micro-optimizations. 2025-09-11 21:21:42 +02:00
Marek Lemańczyk 11bd89d8d0 Unnecessary local variables removed. We'll now reuse local variables instead of declaring new one, where possible. resultBuffer.Dispose() called explicitly before releasing gpu context. 2025-09-11 18:57:49 +02:00
Marek Lemańczyk ab856c4995 Make GpuUInt128 mutable and update callers 2025-09-11 18:38:42 +02:00
Marek Lemańczyk f17f83e326 No. of divisor cycle iterations made configurable 2025-09-11 01:20:15 +02:00
Marek Lemańczyk 596bb7e38f Add GPU divisor tester 2025-09-10 22:03:17 +02:00