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
|
43863d03fb
|
Performance improvements
|
2025-11-13 00:51:32 +01:00 |
|
mlemanczyk
|
0de9871529
|
Functionality and classes separated. Kernel initialization made dependent on a flag. Cleanup.
|
2025-11-10 18:35:50 +01:00 |
|
mlemanczyk
|
d0b1639a5d
|
GPU stabilization improvements to prevent calculation crashes
|
2025-11-09 21:52:16 +01:00 |
|
mlemanczyk
|
8e779c5c9e
|
GpuKernelLease removed
|
2025-11-07 15:36:45 +01:00 |
|
mlemanczyk
|
0410fd2c91
|
PooledContext removal - continuation. GpuKernelLease prepared for removal.
|
2025-11-07 14:13:11 +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
|
7c035239b4
|
Cleanup. Classes & structs extracted to their own files.
|
2025-11-07 10:34:31 +01:00 |
|
mlemanczyk
|
119690086a
|
ConcurrentDictionary removed. Kernel made dependent on the shared GPU context.
|
2025-11-07 10:16:33 +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
|
5a17fa64d5
|
Restore per-lease kernel containers
|
2025-11-04 00:46:59 +01:00 |
|
Marek Lemańczyk
|
dbde6337ea
|
Tie GPU scratch buffers to context leases
|
2025-11-04 00:26:38 +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
|
de7ddd8db3
|
Remove GPU context creation lock
|
2025-10-28 13:26:20 +01:00 |
|
Marek Lemańczyk
|
fada9ff098
|
Ignore zero factors in TrySpecialMaxCpu
|
2025-10-17 08:54:55 +02:00 |
|
mlemanczyk
|
fddec17b3f
|
Various try-out changes
|
2025-10-17 06:53:54 +02:00 |
|
Marek Lemańczyk
|
67ad36420a
|
Add GPU kernel for small prime factoring
|
2025-10-17 05:31:07 +02:00 |
|
Marek Lemańczyk
|
c9ae56a5ec
|
Remove default prime order overloads
|
2025-10-10 21:51:41 +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
|
cd1debe9d6
|
Various micro- and medium- optimizations
|
2025-10-07 22:14:34 +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
|
f63254f0f0
|
Refactor GPU-compatible Mul64 handling
|
2025-09-29 22:35:46 +02:00 |
|
Marek Lemańczyk
|
e316c0055f
|
Implement GPU-safe fast division helper
|
2025-09-24 21:07:43 +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
|
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
|
412ce4fd50
|
% 10 operations replaces with UInt128/ulong.Mod10 methods
|
2025-09-21 07:42:25 +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
|
0ce17d19ae
|
Guard residue order kernels against stale cycle cache entries
|
2025-09-20 23:34:47 +02:00 |
|
Marek Lemańczyk
|
abe695788b
|
Serialize GPU leases with per-accelerator locks
|
2025-09-20 18:19:21 +02:00 |
|
Marek Lemańczyk
|
5e6e762556
|
Reapply "Merge pull request #34 from mlemanczyk/codex/fix-residue-method-iteration-issue"
This reverts commit 9a199dc258.
|
2025-09-20 10:45:01 +02:00 |
|
Marek Lemańczyk
|
b676d89293
|
Merge branch 'main' of https://github.com/mlemanczyk/even-perfect-numbers-scanner
|
2025-09-20 09:41:10 +02:00 |
|
Marek Lemańczyk
|
9a199dc258
|
Revert "Merge pull request #34 from mlemanczyk/codex/fix-residue-method-iteration-issue"
This reverts commit 66ac013abc, reversing
changes made to 52a27dfe61.
|
2025-09-20 09:35:10 +02:00 |
|
Marek Lemańczyk
|
662cfa8cc7
|
Reset residue toggle after default-limit residue test
|
2025-09-20 09:14:29 +02:00 |
|
Marek Lemańczyk
|
ee9c151eaa
|
Fix residue kernel modulus reduction and add regression test
|
2025-09-20 04:24:04 +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
|
52a1e44811
|
Test batch Mersenne residue computation
|
2025-09-10 18:06:08 +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 |
|