Manual accelerator stream creations replaced with pool

This commit is contained in:
mlemanczyk committed 2025-11-15 13:45:24 +01:00
1 parent 0540411cad
commit cd7636ddbe
14 files changed
+133 -267

No files matched your search

@@ -3,6 +3,7 @@ using FluentAssertions;
using ILGPU;
using ILGPU.Runtime;
using PerfectNumbers.Core.Gpu;
using PerfectNumbers.Core.Gpu.Accelerators;
using Xunit;
namespace PerfectNumbers.Core.Tests.Gpu;
@@ -348,10 +349,11 @@ public class GpuKernelCompilationTests
{
GpuPrimeWorkLimiter.Acquire();
AcceleratorStream stream = accelerator.CreateStream();
int acceleratorIndex = AcceleratorPool.Shared.Rent();
AcceleratorStream stream = AcceleratorStreamPool.Rent(acceleratorIndex);
try
{
var kernels = GpuKernelPool.GetOrAddKernels(accelerator, stream, _kernelType);
var kernels = GpuKernelPool.GetOrAddKernels(acceleratorIndex, stream, _kernelType);
_ = kernels.Order;
_ = kernels.Incremental;
_ = kernels.Pow2Mod;
@@ -361,15 +363,15 @@ public class GpuKernelCompilationTests
finally
{
stream.Synchronize();
stream.Dispose();
AcceleratorStreamPool.Return(acceleratorIndex, stream);
// GpuPrimeWorkLimiter.Release();
}
stream = accelerator.CreateStream();
stream = AcceleratorStreamPool.Rent(acceleratorIndex);
GpuPrimeWorkLimiter.Acquire();
try
{
var kernels = GpuKernelPool.GetOrAddKernels(accelerator, stream, _kernelType);
var kernels = GpuKernelPool.GetOrAddKernels(acceleratorIndex, stream, _kernelType);
_ = kernels.Order;
_ = kernels.Incremental;
_ = kernels.Pow2Mod;
@@ -379,7 +381,7 @@ public class GpuKernelCompilationTests
finally
{
stream.Synchronize();
stream.Dispose();
AcceleratorStreamPool.Return(acceleratorIndex, stream);
// GpuPrimeWorkLimiter.Release();
}
}