Files
even-perfect-numbers-scanner/PerfectNumbers.Core.Tests/GpuKernelPoolTests.cs
T

47 lines
1.2 KiB
C#

using FluentAssertions;
using PerfectNumbers.Core.Gpu;
using Xunit;
namespace PerfectNumbers.Core.Tests;
[Collection("GpuNtt")]
public class GpuKernelPoolTests
{
// [Fact]
// [Trait("Category", "Fast")]
// public void EnsureSmallCyclesOnDevice_returns_same_view_on_subsequent_calls()
// {
// GpuContextPool.GpuContextLease lease = GpuContextPool.RentPreferred(preferCpu: true);
// try
// {
// var accelerator = lease.Accelerator;
// var first = GpuKernelPool.EnsureSmallCyclesOnDevice(accelerator);
// var second = GpuKernelPool.EnsureSmallCyclesOnDevice(accelerator);
// second.Equals(first).Should().BeTrue();
// second.Length.Should().Be(MersenneDivisorCycles.SmallDivisorsMax + 1);
// }
// finally
// {
// lease.Dispose();
// }
// }
[Fact]
[Trait("Category", "Fast")]
public void Run_provides_accelerator_and_stream()
{
bool executed = false;
GpuKernelPool.Run((acc, stream) =>
{
acc.Should().NotBeNull();
stream.Should().NotBeNull();
executed = true;
});
executed.Should().BeTrue();
}
}