From bc51962f9d996e95f13fcdc1722eb3be7c86d826 Mon Sep 17 00:00:00 2001 From: mlemanczyk Date: Tue, 18 Nov 2025 04:37:11 +0100 Subject: [PATCH] Cleanup --- .../PrimeOrderCalculatorAccelerator.cs | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/PerfectNumbers.Core/Gpu/Accelerators/PrimeOrderCalculatorAccelerator.cs b/PerfectNumbers.Core/Gpu/Accelerators/PrimeOrderCalculatorAccelerator.cs index 26706f6..1d631ea 100644 --- a/PerfectNumbers.Core/Gpu/Accelerators/PrimeOrderCalculatorAccelerator.cs +++ b/PerfectNumbers.Core/Gpu/Accelerators/PrimeOrderCalculatorAccelerator.cs @@ -83,18 +83,6 @@ public sealed class PrimeOrderCalculatorAccelerator } #endregion - - private static readonly Accelerator[] _accelerators = AcceleratorPool.Shared.Accelerators; - - public readonly Accelerator Accelerator; - public readonly int AcceleratorIndex; - public MemoryBuffer1D Input; - public MemoryBuffer1D OutputUlong; - public MemoryBuffer1D OutputByte; - public MemoryBuffer1D OutputInt; - public MemoryBuffer1D, Stride1D.Dense> Pow2ModEntriesToTestOnDevice; - public Dictionary Pow2ModEntriesToTestOnHost = []; - #region Static Tables public readonly ArrayView1D DevicePrimesLastOne; @@ -106,14 +94,26 @@ public sealed class PrimeOrderCalculatorAccelerator public readonly ArrayView1D DevicePrimesPow2LastThree; public readonly ArrayView1D DevicePrimesPow2LastNine; + public readonly HeuristicCombinedGpuViews DivisorTables; + + public readonly ArrayView1D SmallPrimeFactorPrimes; + public readonly ArrayView1D SmallPrimeFactorSquares; + #endregion + private static readonly Accelerator[] _accelerators = AcceleratorPool.Shared.Accelerators; + + public readonly Accelerator Accelerator; + public readonly int AcceleratorIndex; + public MemoryBuffer1D Input; + public MemoryBuffer1D OutputUlong; + public MemoryBuffer1D OutputByte; + public MemoryBuffer1D OutputInt; + public MemoryBuffer1D, Stride1D.Dense> Pow2ModEntriesToTestOnDevice; public readonly MemoryBuffer1D SmallPrimeFactorCountSlot; public readonly MemoryBuffer1D SpecialMaxResult; - public readonly HeuristicCombinedGpuViews DivisorTables; - public readonly ArrayView1D SmallPrimeFactorPrimes; - public readonly ArrayView1D SmallPrimeFactorSquares; + public Dictionary Pow2ModEntriesToTestOnHost = []; public readonly Kernel CheckFactorsKernel; public readonly Kernel ConvertToStandardKernel; @@ -129,6 +129,7 @@ public sealed class PrimeOrderCalculatorAccelerator public void EnsureCapacity(int factorsCount, int primeTesterCapacity) { Accelerator accelerator = Accelerator; + MemoryBuffer1D, Stride1D.Dense> pow2ModEntriesToTestOnDevice = Pow2ModEntriesToTestOnDevice; if (pow2ModEntriesToTestOnDevice.Length < factorsCount) { @@ -201,12 +202,11 @@ public sealed class PrimeOrderCalculatorAccelerator Accelerator = accelerator; AcceleratorIndex = acceleratorIndex; Input = accelerator.Allocate1D(Math.Max(specialMaxFactorCapacity, primeTesterCapacity)); - OutputUlong = accelerator.Allocate1D(Math.Max(specialMaxFactorCapacity, smallPrimeFactorSlotCount)); - Pow2ModEntriesToTestOnDevice = accelerator.Allocate1D>(factorsCount); OutputByte = Accelerator.Allocate1D(primeTesterCapacity); OutputInt = Accelerator.Allocate1D(Math.Max(primeTesterCapacity, smallPrimeFactorSlotCount)); + OutputUlong = accelerator.Allocate1D(Math.Max(specialMaxFactorCapacity, smallPrimeFactorSlotCount)); + Pow2ModEntriesToTestOnDevice = accelerator.Allocate1D>(factorsCount); SmallPrimeFactorCountSlot = accelerator.Allocate1D(1); - SpecialMaxResult = accelerator.Allocate1D(1); LastDigitGpuTables lastDigitSharedTables = LastDigitGpuTables.GetStaticTables(acceleratorIndex);