From 67c1d9309a4baf60f262d216505581b2c8f9f26d Mon Sep 17 00:00:00 2001 From: mlemanczyk Date: Sun, 30 Nov 2025 15:37:01 +0100 Subject: [PATCH] Reusing prime work limiter to limit the number of active threads. --- PerfectNumbers.Core/MersenneNumberDivisorByDivisorTester.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PerfectNumbers.Core/MersenneNumberDivisorByDivisorTester.cs b/PerfectNumbers.Core/MersenneNumberDivisorByDivisorTester.cs index a48fd49..de15c2e 100644 --- a/PerfectNumbers.Core/MersenneNumberDivisorByDivisorTester.cs +++ b/PerfectNumbers.Core/MersenneNumberDivisorByDivisorTester.cs @@ -1,6 +1,7 @@ using System.Buffers; using System.Globalization; using System.Runtime.InteropServices; +using PerfectNumbers.Core.Gpu; using PerfectNumbers.Core.Gpu.Accelerators; namespace PerfectNumbers.Core; @@ -296,6 +297,7 @@ public static class MersenneNumberDivisorByDivisorTester () => { startGate.Wait(); + GpuPrimeWorkLimiter.Acquire(); Console.WriteLine($"Task started for range {rangeStart}"); var gpu = PrimeOrderCalculatorAccelerator.Rent(1); @@ -307,6 +309,7 @@ public static class MersenneNumberDivisorByDivisorTester PrimeOrderCalculatorAccelerator.Return(gpu); Console.WriteLine($"Task finished for range {rangeStart}"); PrimeOrderCalculatorAccelerator.DisposeAll(); + GpuPrimeWorkLimiter.Acquire(); }, CancellationToken.None, TaskCreationOptions.DenyChildAttach,