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 |
|
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 |
|
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 |
|
mlemanczyk
|
4c79c4087e
|
Various optimizations
|
2025-10-29 14:00:38 +01:00 |
|
Marek Lemańczyk
|
6dd5cea79f
|
Remove temporary by-divisor review documents
|
2025-10-28 02:01:28 +01:00 |
|
Marek Lemańczyk
|
a83ae56caf
|
Use LastDigit enum across Mersenne scanners
|
2025-10-26 16:04:05 +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
|
3afd9399db
|
Isolate residue GPU leases and drop try/finally
|
2025-10-21 22:01:50 +02:00 |
|
Marek Lemańczyk
|
819cb7b00b
|
Guard residue GPU scanning with execution lock
|
2025-10-21 21:26:53 +02:00 |
|
Marek Lemańczyk
|
33f9b51593
|
Clarify residue stepper usage and update TODO tracker
|
2025-10-20 18:37:35 +02:00 |
|
Marek Lemańczyk
|
82e44e3f3f
|
Confirm windowed pow2 usage across GPU kernels
|
2025-10-20 18:37:08 +02:00 |
|
mlemanczyk
|
56e413064a
|
Using cleanup
|
2025-10-17 02:40:51 +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
|
615ae29fd6
|
Fix residue tester filters and arithmetic utilities
|
2025-09-24 03:05:34 +02:00 |
|
Marek Lemańczyk
|
6e99ee39e3
|
Extension methods benchmarked. Slower alternatives replaced.
|
2025-09-23 22:01:09 +02:00 |
|
Marek Lemańczyk
|
95a0b030f6
|
Add optimized modulo helpers for unsigned integers
|
2025-09-21 10:14:26 +02:00 |
|
Marek Lemańczyk
|
412ce4fd50
|
% 10 operations replaces with UInt128/ulong.Mod10 methods
|
2025-09-21 07:42:25 +02:00 |
|
Marek Lemańczyk
|
53554ffd3d
|
Restored faster version of the calculations
|
2025-09-21 05:40:13 +02:00 |
|
Marek Lemańczyk
|
5ab69f8c01
|
Restore struct residue args and add residue benchmark project
|
2025-09-21 05:29:13 +02:00 |
|
Marek Lemańczyk
|
4fe701425e
|
Micro-optimizations
|
2025-09-21 04:38:01 +02:00 |
|
Marek Lemańczyk
|
f53853f6ff
|
Micro optimization to take ref to orders once and re-use it, until it changes for the last block.
|
2025-09-21 04:27:51 +02:00 |
|
Marek Lemańczyk
|
23e8d306b1
|
Breaking change partially reverted
|
2025-09-21 02:48:51 +02:00 |
|
Marek Lemańczyk
|
8a6fc0c6a5
|
Revert "Merge pull request #24 from mlemanczyk/codex/modify-evenperfectbitscanner-for-residue-mode"
This reverts commit 2d024cc708, reversing
changes made to b1c29ad16e.
|
2025-09-21 02:25:18 +02:00 |
|
Marek Lemańczyk
|
f9b4f912e2
|
Fix GPU residue tester iteration and add regression tests
|
2025-09-21 00:14:33 +02:00 |
|
Marek Lemańczyk
|
7449f146d9
|
Ensure GPU residue copies are synchronized and cover high divisor sets
|
2025-09-20 22:49:37 +02:00 |
|
Marek Lemańczyk
|
7ccac87df3
|
Zero GPU residue result buffer before scanning
|
2025-09-20 19:26:45 +02:00 |
|
Marek Lemańczyk
|
abe695788b
|
Serialize GPU leases with per-accelerator locks
|
2025-09-20 18:19:21 +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
|
bc1ec6a3aa
|
Allow residue GPU scanning to cover UInt128 divisors
|
2025-09-20 02:49:20 +02:00 |
|
Marek Lemańczyk
|
9a7382fd80
|
Tiny cleanup
|
2025-09-17 19:08:43 +02:00 |
|
Marek Lemańczyk
|
1b28584168
|
Add divisor-mode detailed check coverage for factors
|
2025-09-17 19:02:21 +02:00 |
|
Marek Lemańczyk
|
34cc0b0fdd
|
Refine GPU residue prime tables
|
2025-09-17 17:35:26 +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
|
0535ad2b7b
|
BuildDivisorCandidates moved to MersenneNumberDivisorGpuTester. Micro-optimizations.
|
2025-09-11 21:21:42 +02:00 |
|
Marek Lemańczyk
|
4e53874713
|
Add post-copy synchronization for residue GPU scan
|
2025-09-11 02:09:40 +02:00 |
|
Marek Lemańczyk
|
77fbbceeec
|
Dispose GPU resources safely
|
2025-09-10 03:16:23 +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 |
|