GPU stabilization improvements to prevent calculation crashes

This commit is contained in:
mlemanczyk committed 2025-11-09 21:52:16 +01:00
1 parent a338bb0d0b
commit d0b1639a5d
40 files changed
+2318 -1764

No files matched your search

@@ -348,32 +348,40 @@ public class GpuKernelCompilationTests
private static void CompileGpuKernelPoolKernels(Accelerator accelerator)
{
_ = accelerator;
GpuPrimeWorkLimiter.Acquire();
GpuPrimeWorkLimiter.Acquire();
AcceleratorStream stream = accelerator.CreateStream();
try
{
_ = GpuKernelPool.Kernels.Order;
_ = GpuKernelPool.Kernels.Incremental;
_ = GpuKernelPool.Kernels.Pow2Mod;
_ = GpuKernelPool.Kernels.IncrementalOrder;
_ = GpuKernelPool.Kernels.Pow2ModOrder;
{
var kernels = GpuKernelPool.GetOrAddKernels(accelerator, stream);
_ = kernels.Order;
_ = kernels.Incremental;
_ = kernels.Pow2Mod;
_ = kernels.IncrementalOrder;
_ = kernels.Pow2ModOrder;
}
finally
{
{
stream.Synchronize();
stream.Dispose();
GpuPrimeWorkLimiter.Release();
}
GpuPrimeWorkLimiter.Acquire();
stream = accelerator.CreateStream();
GpuPrimeWorkLimiter.Acquire();
try
{
_ = GpuKernelPool.Kernels.Order;
_ = GpuKernelPool.Kernels.Incremental;
_ = GpuKernelPool.Kernels.Pow2Mod;
_ = GpuKernelPool.Kernels.IncrementalOrder;
_ = GpuKernelPool.Kernels.Pow2ModOrder;
var kernels = GpuKernelPool.GetOrAddKernels(accelerator, stream);
_ = kernels.Order;
_ = kernels.Incremental;
_ = kernels.Pow2Mod;
_ = kernels.IncrementalOrder;
_ = kernels.Pow2ModOrder;
}
finally
{
stream.Synchronize();
stream.Dispose();
GpuPrimeWorkLimiter.Release();
}
}