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
|
c53aa517f7
|
GpuScratchBuffer / -Pool naively integrated with PriemOrderCalculatorAccelerator (formerly Pow2MontgomeryAccelerator). FactorEntry replaced with 2 arrays - unused field removed. Small cleanup.
|
2025-11-13 14:41:27 +01:00 |
|
mlemanczyk
|
43863d03fb
|
Performance improvements
|
2025-11-13 00:51:32 +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
|
cf5f78c2ef
|
PrimeTesterByLastDigitAccelerator integrated into Pow2MontgomeryGpuCalculator for better performance.
|
2025-11-11 13:36:21 +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
|
fa89958736
|
Stabilization improvements. Stream will be released when releasing GPU lease to prevent application crashes.
|
2025-11-10 14:30:30 +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
|
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
|
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 |
|
Marek Lemańczyk
|
de7ddd8db3
|
Remove GPU context creation lock
|
2025-10-28 13:26:20 +01:00 |
|
Marek Lemańczyk
|
6dd5cea79f
|
Remove temporary by-divisor review documents
|
2025-10-28 02:01:28 +01:00 |
|
mlemanczyk
|
ea11db6d0f
|
Restored the Dictionary parameter instead of arrays
|
2025-10-21 04:08:48 +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 |
|
mlemanczyk
|
56e413064a
|
Using cleanup
|
2025-10-17 02:40:51 +02:00 |
|
Marek Lemańczyk
|
ca0f498d0d
|
Recycle small prime stepper arrays
|
2025-10-17 02:34:41 +02:00 |
|