MontgomeryDivisorData converted to a pooled class to limit GC pressure. MontgomeryDivisorDataGpu added for GPU operations. PrimeOrderCalculator kernels precompiled during warmup.
This commit is contained in:
1 parent
07efd5d2a1
commit
070e2a14fd
32 files changed
+310
-192
No files matched your search
@@ -44,7 +44,7 @@ internal static partial class PrimeOrderCalculator
|
||||
|
||||
// var kernelLauncher = gpu.CheckFactorsKernelLauncher;
|
||||
var kernel = gpu.CheckFactorsKernel;
|
||||
kernel.Launch(stream, 1, entryCount, phi, gpu.Pow2ModEntriesToTestOnDevice.View, divisorData, gpu.OutputUlong.View);
|
||||
kernel.Launch(stream, 1, entryCount, phi, gpu.Pow2ModEntriesToTestOnDevice.View, divisorData.Modulus, divisorData.NPrime, divisorData.MontgomeryOne, divisorData.MontgomeryTwo, divisorData.MontgomeryTwoSquared, gpu.OutputUlong.View);
|
||||
|
||||
gpu.OutputUlong.View.CopyToCPU(stream, ref order, 1);
|
||||
stream.Synchronize();
|
||||
@@ -146,7 +146,7 @@ internal static partial class PrimeOrderCalculator
|
||||
phi,
|
||||
specialMaxFactorsView,
|
||||
factorCount,
|
||||
divisorData,
|
||||
divisorData.Modulus,
|
||||
gpu.OutputUlong.View,
|
||||
specialMaxResultView);
|
||||
|
||||
|
||||
Reference in new issue
Block a user