Cache GPU divisor partial data on GPU path

This commit is contained in:
Marek Lemańczyk committed 2025-10-24 18:56:21 +02:00
1 parent cc281ab423
commit 69acd3dad9
5 files changed
+71 -17

No files matched your search

@@ -408,6 +408,22 @@ public class MersenneDivisorCycles
return success;
}
internal static bool TryCalculateCycleLengthForExponentGpu(
ulong divisor,
ulong exponent,
in GpuDivisorPartialData divisorData,
out ulong cycleLength,
out bool primeOrderFailed) =>
TryCalculateCycleLengthForExponentGpu(divisor, exponent, divisorData.MontgomeryData, out cycleLength, out primeOrderFailed);
internal static ulong CalculateCycleLengthGpu(
ulong divisor,
in GpuDivisorPartialData divisorData,
bool skipPrimeOrderHeuristic = false)
{
return CalculateCycleLength(divisor, divisorData.MontgomeryData, skipPrimeOrderHeuristic);
}
private static bool AccumulateFactors(
ulong value,
Dictionary<ulong, int> counts)