Commit Graph
100 Commits
Author SHA1 Message Date
mlemanczyk 17763033e1 Initial BitContradiction implementation on GPU 2026-01-25 16:37:22 +01:00
mlemanczyk e61d166eb1 Results updated. 2026-01-25 03:17:58 +01:00
mlemanczyk a4aead2802 BitContradiction performance improvements. Next variables removed. 2026-01-25 03:05:22 +01:00
mlemanczyk 3ca99460bb Update excluded-138m.csv
Results updated.
2026-01-25 02:35:24 +01:00
mlemanczyk b9b8422fb9 Results updated. 2026-01-25 02:34:16 +01:00
mlemanczyk f755b30153 Results updated. 2026-01-25 02:32:53 +01:00
mlemanczyk 67291f76a2 BitContradiction performance improvements. Next variables removed. 2026-01-25 02:32:26 +01:00
mlemanczyk 5eee2cd4a0 k state repository performance improvement. We'll now flush the updates every so often, now. 2026-01-25 01:35:19 +01:00
mlemanczyk f864e73f67 Benchmarks for static bit masks added. 2026-01-25 01:25:53 +01:00
mlemanczyk 38b83a3d55 BitContradiction performance improvements. 2026-01-25 01:25:10 +01:00
mlemanczyk c6be5ee679 BitContradiction performance improvements. 2026-01-24 21:50:02 +01:00
mlemanczyk 80e58fc55b BitContradiction performance improvements. Small qMod2k inv cache added. 2026-01-24 01:39:14 +01:00
mlemanczyk b2a6a1c332 BitContradiction performance improvements. Exact powers of 2 cases will reuse previous calculation results and transform them for the next q divisor. 2026-01-24 01:28:09 +01:00
mlemanczyk b014fdb7f1 BitContradiction performance improvements. 2026-01-24 00:27:10 +01:00
mlemanczyk 9886d8bbb2 BitContradiction performance improvements. 2026-01-23 16:25:04 +01:00
mlemanczyk 1719b3350d Update excluded-138m.csv
Results updated.
2026-01-22 19:03:29 +01:00
mlemanczyk dfd3f71f5d BigInteger shifting mapped to constants for an improved performance. 2026-01-22 19:01:03 +01:00
mlemanczyk cc8bb98e2c Results updated. 2026-01-22 15:59:47 +01:00
mlemanczyk 04545c93b4 Prime testing pipeline adjusted to match other methods. 2026-01-22 15:45:47 +01:00
mlemanczyk edecffe10b Console print out interval switched to PerfectNumberConstants.ConsoleInterval 2026-01-22 15:36:12 +01:00
mlemanczyk 13e1c7f34e BitContradiction performance improvements. 2026-01-22 15:33:57 +01:00
mlemanczyk c63ff5df32 Tiny cleanup 2026-01-22 15:11:16 +01:00
mlemanczyk 302bfba40c K state saving frequency increased 2026-01-22 15:10:37 +01:00
mlemanczyk c11a886197 GPU warmup disabled when no GPU is in use. 2026-01-22 15:08:13 +01:00
mlemanczyk b9f2b08c78 Results updated. 2026-01-20 22:02:23 +01:00
mlemanczyk d9816b48e2 State saving interval decreased. 2026-01-20 21:50:17 +01:00
mlemanczyk 3212297911 Micro-optimizations. Variables limited. Mod2 filter disabled to avoid modulo calculations. 2026-01-20 21:49:27 +01:00
mlemanczyk e53f0b7a95 Console output limit restored to avoid flooding console with entries. 2026-01-20 21:47:22 +01:00
mlemanczyk c537e915d1 KStateRepository flushing added after saving to make sure it's written to the file. 2026-01-20 21:46:36 +01:00
mlemanczyk afed716105 Update excluded-138m.csv
Results updated.
2026-01-20 16:59:45 +01:00
mlemanczyk c8aa842eeb Update excluded-138m.csv
Results updated.
2026-01-20 00:42:14 +01:00
mlemanczyk b934112074 BitContradiction performance improvements. 2026-01-20 00:39:31 +01:00
mlemanczyk 4f12375427 Restored K state saving in BitContradiction scan. Tiny cleanup. 2026-01-18 22:04:15 +01:00
mlemanczyk 778a36d2eb BitContradiction and DETAILED_LOG fixes 2026-01-18 16:10:17 +01:00
mlemanczyk 1a97cdf754 BitContradiction cleanup and performance improvements. LUT increased to increase steps. 2026-01-18 01:02:06 +01:00
mlemanczyk 41e421e1eb BitContradiction improvements - 0.043s, p=138000001+ 2026-01-17 15:37:43 +01:00
mlemanczyk e97ea151e1 BitContradiction performance improvement introducing early cut-off based on required active rows count. 2026-01-13 13:21:07 +01:00
mlemanczyk 09945544fc BitContradiction improvements to process bit 1 RLEs instead of separate indexes of each bit. 2026-01-13 12:38:06 +01:00
mlemanczyk 047e3d6233 BitContradiction performance improvements. 2026-01-13 09:59:07 +01:00
mlemanczyk e738ee29e0 BitContradiction performance improvements. 2026-01-13 09:38:34 +01:00
mlemanczyk 12c477b1a2 BitContradiction improvements to be aware of the highest "a" bit being 1 and of the minimum and maximum "a" bit length. 2026-01-13 06:56:08 +01:00
mlemanczyk d0dbb8f92a BitContradiction solvers improvements to increase early exclusions. 2026-01-13 04:20:34 +01:00
mlemanczyk c6dea4afcc Compilation error fixed. 2026-01-13 02:02:29 +01:00
mlemanczyk bf93bcff1a BitContradictionSolverWithQMultiplier improvements. BitContradictionSolverWithAMultiplier added. 2026-01-12 20:50:54 +01:00
mlemanczyk dc7a499f82 BitContradiction optimizations 2026-01-12 02:45:46 +01:00
mlemanczyk 2b803abcac BitContradiction mode modified to check for contradictions from both sides. 2026-01-12 01:49:10 +01:00
mlemanczyk 458e6d14a0 Results updated. 2026-01-09 16:14:04 +01:00
mlemanczyk d88ad25476 Initial BitTree implementation added. 2026-01-09 16:13:16 +01:00
mlemanczyk 45e3455ff3 DivisorSet.BitContradiction mode added to --mersenne=bydivisor. 2026-01-04 17:59:02 +01:00
mlemanczyk 6a924f4041 DivisorSet.Percentile, Additive and TopDown modes implemented. State files ported to LMDB => FASTER to avoid millions of files in folders. 2026-01-04 12:17:27 +01:00
mlemanczyk 27f65baf3d Predictive and default bydivisor modes will use separate files to track the last checked k to prevent impacting results between modes. 2026-01-03 20:53:57 +01:00
mlemanczyk a6d408f2aa Predictive scanning implemented for bydivisor method. 2026-01-03 20:01:22 +01:00
mlemanczyk ef8034b258 Results updated. 2026-01-03 01:41:10 +01:00
mlemanczyk 6b80e31e6c Pow2MontgomeryModWindowedConvertToStandardCpu usages replaced with a comparison to MontgomeryOne avoiding unnecessary conversions. Results updated. 2026-01-03 01:37:40 +01:00
mlemanczyk 3f59cdc14b Results updated, including trivial divisors. 2026-01-02 23:46:54 +01:00
mlemanczyk ce3079a48e Restored CalculateOrderKernelLauncher kernel setup. 2026-01-02 23:46:30 +01:00
mlemanczyk f3ed5b04a1 Improvements to recognize cases when we only find trivial divisors for p. Not fully fixed, yet. 2026-01-02 23:39:32 +01:00
mlemanczyk 0d11199ef2 Results updated. 2025-12-30 19:45:17 +01:00
mlemanczyk bfb3bcb1e3 Fixed issue with treating Mersenne's number as valid divisor for p. 2025-12-29 22:44:14 +01:00
mlemanczyk be92ef1ae3 Compilation error fixed. 2025-12-29 05:49:45 +01:00
mlemanczyk 7e00a73174 Results updated. 2025-12-28 18:37:34 +01:00
mlemanczyk e02264d3f1 Results updated 2025-12-28 12:34:29 +01:00
mlemanczyk 48ff886fb2 Dictionary extended 2025-12-28 12:28:42 +01:00
mlemanczyk 9a6a1968b7 Merge branch 'simplify-bydivisor' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into simplify-bydivisor 2025-12-28 00:59:18 +01:00
mlemanczyk 87a66e4eca DivisorSet scans added as EnumDependentTemplate to MersenneNumberDivisorByDivisorCpuTesterWithTemplate. New Pow2Groups scan implemented based on statistics for high divisors. MersenneNumberDivisorByDivisorPrimeScan sessions integrated into MersenneNumberDivisorByDivisorPrimeScanSessionWithTemplate. Various micro optimizations to eliminate variable, unnecessary struct creations and continue scans in higher divisor ranges, when lower ranges are exhausted. --bydivisor-k-increment command-line argument added. 2025-12-28 00:45:08 +01:00
mlemanczyk 9391954b3e DivisorSet scans added as EnumDependentTemplate to MersenneNumberDivisorByDivisorCpuTesterWithTemplate. New Pow2Groups scan implemented based on statistics for high divisors. MersenneNumberDivisorByDivisorPrimeScan sessions integrated into MersenneNumberDivisorByDivisorPrimeScanSessionWithTemplate. Various micro optimizations to eliminate variable, unnecessary struct creations and continue scans in higher divisor ranges, when lower ranges are exhausted. --bydivisor-k-increment command-line argument added. 2025-12-28 00:39:36 +01:00
mlemanczyk 759614de54 Fixed invalid index return when EnvironmentConfig.RollingAccelerators is 1. 2025-12-28 00:14:23 +01:00
mlemanczyk 3342ead2d4 DeviceDependentGenerator modified to create all classes in "generated" folder and clean up generated files during dotnet clean process. 2025-12-28 00:13:30 +01:00
mlemanczyk 75a2017385 Heuristic and small prime factor kernels restored in PrimeOrderAcceleratorTemplate. 2025-12-28 00:12:39 +01:00
mlemanczyk 6603f65993 New numbers added for quick and easy reuse without struct creations. 2025-12-28 00:12:39 +01:00
mlemanczyk 6678f24887 Race condition fixed 2025-12-25 23:14:12 +01:00
mlemanczyk 2bf9ff233c PrimeOrderCalculator converted to a template. 2025-12-21 18:02:59 +01:00
mlemanczyk 48df3df290 Fix to update pending list entry with the updated one, after PartialFactorPendingEntry was converted back to struct. 2025-12-20 16:46:57 +01:00
mlemanczyk 9147124ddf MersenneNumberTesterTemplate extended to depend on new enums: CacheStatus & OrderDevice instead of constructor parameters to limit code branches during execution. 2025-12-19 22:01:21 +01:00
mlemanczyk c5c42b0c19 MersenneNumberTesterTemplate made dependent on the calculation method to eliminate unnecessary branching. 2025-12-19 20:01:45 +01:00
mlemanczyk c9a421a1b4 Merge branch 'simplify-bydivisor' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into simplify-bydivisor 2025-12-19 19:02:06 +01:00
mlemanczyk d32eea0212 DeviceDependentGenerator extended to allow generation of enum dependent templates. Name suffix separate to its own attribute. 2025-12-19 19:01:38 +01:00
mlemanczyk 9ff0431f59 DeviceDependentGenerator extended to allow generation of enum dependent templates. Name suffix separate to its own attribute. 2025-12-19 19:01:27 +01:00
mlemanczyk a21ab3134e MersenneNumberTester converted to device dependent MersenneNumberTesterTemplate. 2025-12-19 18:25:27 +01:00
mlemanczyk b53d00a8cc EvenPerfectBitScanner fully migrated to MersenneDivisorCycles. Tiny optimization. 2025-12-19 04:38:01 +01:00
mlemanczyk 74837a407e MersenneDivisorCycles converted to device template. 2025-12-19 04:03:27 +01:00
mlemanczyk 31ecf24522 TODOs added. 2025-12-19 00:10:21 +01:00
mlemanczyk 870819dec6 MersenneNumberDivisorByDivisorCpuTesterWithTemplate optimizations 2025-12-19 00:10:09 +01:00
mlemanczyk 4edad10be8 MethodImpl attributes adjustments. 2025-12-18 20:10:41 +01:00
mlemanczyk ed299edf56 MersenneNumberDivisorByDivisorCpuTesterWithCpuOrder, MersenneNumberDivisorByDivisorCpuTesterWithHybridOrder & MersenneNumberDivisorByDivisorCpuTesterWithGpuOrder converted to device dependent template MersenneNumberDivisorByDivisorCpuTesterWithTemplate. 2025-12-18 20:10:20 +01:00
mlemanczyk 2236c3ec35 MersenneCpuDivisorScanSessionWithCpuOrder, MersenneCpuDivisorScanSessionWithHybridOrder & MersenneCpuDivisorScanSessionWithGpuOrder converted to device dependent templates 2025-12-18 19:46:21 +01:00
mlemanczyk 8ea975f2ed DeviceDependentGenerator added to tasks.json. It can now generate the files during VS Code builds. Ignore list updated. 2025-12-18 09:39:56 +01:00
mlemanczyk af7c9491e4 DeviceDependentGenerator can now add suffix to the name of the generated types. 2025-12-18 09:23:41 +01:00
mlemanczyk 0b226c76e8 #nullable added to auto-generated sources to allow compilations with nullability check enabled. 2025-12-18 09:09:08 +01:00
mlemanczyk 9faa397364 DeviceDependentGenerator added. 2025-12-18 07:37:53 +01:00
mlemanczyk 23748ad3d2 MethodImpl attributes added. Unnecessary try...finally blocks removed. 2025-12-18 05:31:27 +01:00
mlemanczyk 189013b849 Results updated. 2025-12-18 05:09:52 +01:00
mlemanczyk 2abc6aae49 --mersenne=bydivisor testers and sessions integrated and converted to structs. 2025-12-18 05:07:31 +01:00
mlemanczyk 3c80221105 MontgomeryDivisorDataPool.Rent / .Return removed as we no longer pool Montgomery divisor data. UInt128Extensions.MontgomeryDivisorDataPool variables optimized. 2025-12-16 02:27:29 +01:00
mlemanczyk b7773adad8 PrimeOrderCalculator.ExponentLoweringCpu optimized to reuse factors & exponents span instead of its own buffers 2025-12-15 20:22:03 +01:00
mlemanczyk 6d427c6906 Results updated. 2025-12-15 17:23:22 +01:00
mlemanczyk 566cbc3599 PrimeOrderCalculator.Cpu optimizations. 2025-12-15 17:22:55 +01:00
mlemanczyk 5523469e8a Results updated. 2025-12-15 07:31:19 +01:00
mlemanczyk 046cfe7d26 BuildDivisorTransitions application added. 2025-12-15 07:30:29 +01:00
mlemanczyk 97fd041ec0 Tiny cleanup for improved readability. 2025-12-15 04:37:03 +01:00