GPU stabilization improvements to prevent calculation crashes
This commit is contained in:
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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user