Commit Graph
25 Commits
Author SHA1 Message Date
mlemanczyk 0540411cad Accelerator index added for dictionary-less use-cases 2025-11-15 02:21:45 +01:00
mlemanczyk 0d2a88c45f GpuPrimeWorkLimiter.Acquire() / .Release() removed to save time on the hot-path with billions of calls. We'll rely on AcceleratorStreamPool limits and synchronization. 2025-11-13 17:52:13 +01:00
mlemanczyk 5bc65464d0 Initial PollardRho implementation for GPU. Added pool for accelerator streams shared across the threads. GPU processing performance and stabilization improvements. GpuUInt128.BinaryGcd switched to the version which outperformed other in benchmarks. 2025-11-12 21:18:30 +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 9537addf38 ArrayPool<T> replaced with ThreadStaticPools 2025-11-07 00:46:16 +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
Marek Lemańczyk 4c4d4243fb Merge remote-tracking branch 'github/codex/optimize-evenperfectbitscanner-for-static-arrays-khd9w8' into work
# Conflicts:
#	PerfectNumbers.Core/Gpu/GpuContextPool.cs
#	PerfectNumbers.Core/Gpu/GpuKernelLease.cs
#	PerfectNumbers.Core/Gpu/GpuKernelPool.cs
#	PerfectNumbers.Core/Gpu/GpuStaticTableInitializer.cs
#	PerfectNumbers.Core/Gpu/Kernels/PrimeOrderSpecialMaxKernels.cs
#	PerfectNumbers.Core/PrimeOrderCalculator.Cpu.cs
#	PerfectNumbers.Core/PrimeOrderCalculator.Gpu.cs
#	PerfectNumbers.Core/PrimeTester.cs
2025-11-03 23:59:12 +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
Marek Lemańczyk 6dd5cea79f Remove temporary by-divisor review documents 2025-10-28 02:01:28 +01:00
Marek Lemańczyk da6ea25729 Address windowed pow2 review feedback 2025-10-20 18:37:29 +02:00
Marek Lemańczyk 360a31bd54 Align Lucas-Lehmer GPU helpers with windowed pow2 guidance 2025-10-20 18:37:15 +02:00
Marek Lemańczyk 6217ea7888 Document GPU kernel audit progress 2025-10-18 17:42:33 +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 6e99ee39e3 Extension methods benchmarked. Slower alternatives replaced. 2025-09-23 22:01:09 +02:00
Marek Lemańczyk 3598f88aaf Replace small-modulo uses with optimized helpers 2025-09-22 19:54:50 +02:00
Marek Lemańczyk ca866ffc5b Reapply modulo helpers and inline fast remainders 2025-09-22 19:26:07 +02:00
Marek Lemańczyk ab856c4995 Make GpuUInt128 mutable and update callers 2025-09-11 18:38:42 +02:00
Marek Lemańczyk 212d9b9464 Expand Lucas-Lehmer GPU prime test 2025-09-10 19:03:17 +02:00
Marek Lemańczyk 269d9b4bc3 Add batch Lucas-Lehmer residues on GPU 2025-09-10 18:40:45 +02:00
Marek Lemańczyk 117ea94b50 Avoid using declarations for GPU resources 2025-09-10 00:19:48 +02:00
Marek Lemańczyk 9f35f6c558 Initial commit. 2025-09-09 21:15:57 +02:00