Commit Graph

  • 74837a407e MersenneDivisorCycles converted to device template. mlemanczyk 2025-12-19 04:03:04 +01:00
  • 31ecf24522 TODOs added. mlemanczyk 2025-12-19 00:10:21 +01:00
  • 870819dec6 MersenneNumberDivisorByDivisorCpuTesterWithTemplate optimizations mlemanczyk 2025-12-19 00:10:09 +01:00
  • 4edad10be8 MethodImpl attributes adjustments. mlemanczyk 2025-12-18 20:10:41 +01:00
  • ed299edf56 MersenneNumberDivisorByDivisorCpuTesterWithCpuOrder, MersenneNumberDivisorByDivisorCpuTesterWithHybridOrder & MersenneNumberDivisorByDivisorCpuTesterWithGpuOrder converted to device dependent template MersenneNumberDivisorByDivisorCpuTesterWithTemplate. mlemanczyk 2025-12-18 20:10:20 +01:00
  • 2236c3ec35 MersenneCpuDivisorScanSessionWithCpuOrder, MersenneCpuDivisorScanSessionWithHybridOrder & MersenneCpuDivisorScanSessionWithGpuOrder converted to device dependent templates mlemanczyk 2025-12-18 10:29:28 +01:00
  • 8ea975f2ed DeviceDependentGenerator added to tasks.json. It can now generate the files during VS Code builds. Ignore list updated. mlemanczyk 2025-12-18 09:39:56 +01:00
  • af7c9491e4 DeviceDependentGenerator can now add suffix to the name of the generated types. mlemanczyk 2025-12-18 09:23:41 +01:00
  • 0b226c76e8 #nullable added to auto-generated sources to allow compilations with nullability check enabled. mlemanczyk 2025-12-18 09:09:08 +01:00
  • 9faa397364 DeviceDependentGenerator added. mlemanczyk 2025-12-18 07:37:53 +01:00
  • 23748ad3d2 MethodImpl attributes added. Unnecessary try...finally blocks removed. mlemanczyk 2025-12-18 05:31:27 +01:00
  • 189013b849 Results updated. mlemanczyk 2025-12-18 05:09:52 +01:00
  • 2abc6aae49 --mersenne=bydivisor testers and sessions integrated and converted to structs. mlemanczyk 2025-12-18 05:07:31 +01:00
  • 3c80221105 MontgomeryDivisorDataPool.Rent / .Return removed as we no longer pool Montgomery divisor data. UInt128Extensions.MontgomeryDivisorDataPool variables optimized. mlemanczyk 2025-12-15 23:33:26 +01:00
  • b7773adad8 PrimeOrderCalculator.ExponentLoweringCpu optimized to reuse factors & exponents span instead of its own buffers mlemanczyk 2025-12-15 20:21:00 +01:00
  • 6d427c6906 Results updated. mlemanczyk 2025-12-15 17:23:22 +01:00
  • 566cbc3599 PrimeOrderCalculator.Cpu optimizations. mlemanczyk 2025-12-15 17:22:55 +01:00
  • 5523469e8a Results updated. mlemanczyk 2025-12-15 07:31:19 +01:00
  • 046cfe7d26 BuildDivisorTransitions application added. mlemanczyk 2025-12-15 07:30:29 +01:00
  • 97fd041ec0 Tiny cleanup for improved readability. mlemanczyk 2025-12-15 04:37:03 +01:00
  • 2c18818ac8 PrimeOrderCalculator.PopulateSmallPrimeFactorsCpu, .ExtractSmallPrimeExponent & ULongExtensions.ReduceCycleRemainder optimized. mlemanczyk 2025-12-15 04:36:47 +01:00
  • 048d1576ef Tiny cleanup. mlemanczyk 2025-12-15 04:33:09 +01:00
  • dce598c857 Results updated. mlemanczyk 2025-12-15 04:32:23 +01:00
  • a8a41c6132 Results updated. mlemanczyk 2025-12-15 04:12:07 +01:00
  • 7c3ed34df3 Results updated. mlemanczyk 2025-12-15 04:05:10 +01:00
  • 695e164f51 Results updated. mlemanczyk 2025-12-15 04:04:52 +01:00
  • 974b1da873 Small optimizations mlemanczyk 2025-12-14 01:35:13 +01:00
  • e0daccdc1a BTree fine-tuned. mlemanczyk 2025-12-14 00:19:53 +01:00
  • bca059c4f2 Initial BTree version implemented. mlemanczyk 2025-12-14 00:03:51 +01:00
  • e8cca74f68 DeeterministicRandom types optimized. mlemanczyk 2025-12-13 16:00:28 +01:00
  • 1b3882addc PrimeOrderCalculator.PartialFactorCpu variables optimized. Removed constant parameter from AddFactorToCollector. mlemanczyk 2025-12-13 15:36:32 +01:00
  • 0fb5a5fa10 Merge branch 'simplify-bydivisor' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into simplify-bydivisor mlemanczyk 2025-12-13 14:29:25 +01:00
  • 079b2d5b72 PartialFactorPendingEntry changed back to struct for better performance. mlemanczyk 2025-12-13 14:26:55 +01:00
  • 96bb6a4340 PartialFactorPendingEntry changed back to struct for better performance. mlemanczyk 2025-12-13 14:26:55 +01:00
  • a185149eba PrimeOrderCalculator.PartiaFactorCpu optimized to use one-time allocation list and stack. mlemanczyk 2025-12-13 14:21:37 +01:00
  • 9fcd21b734 Results updated. mlemanczyk 2025-12-13 13:37:01 +01:00
  • cbf3dfcf2e Results updated. mlemanczyk 2025-12-13 05:12:22 +01:00
  • ec080ade7f PendingEntry renamed to PartialFactorPendingEntry and moved to its own file. PrimeOrderCalculator.PartialFactor partially optimized to use fixed buffers factors & exponents. mlemanczyk 2025-12-13 05:11:02 +01:00
  • 8fbe248a49 Revert "Reusable buffers introduced." mlemanczyk 2025-12-13 04:17:30 +01:00
  • 39a66fdef1 Reusable buffers introduced. mlemanczyk 2025-12-13 04:16:05 +01:00
  • fd58079c5a Results updated. mlemanczyk 2025-12-13 04:03:05 +01:00
  • 964bc8b734 Results updated. mlemanczyk 2025-12-12 23:35:47 +01:00
  • d9bff88055 Results updated. mlemanczyk 2025-12-12 22:06:37 +01:00
  • 2607c6e2d4 Results updated. mlemanczyk 2025-12-12 20:26:43 +01:00
  • e8e67ebf83 Results updated. mlemanczyk 2025-12-12 18:50:52 +01:00
  • ca3785c20d Results updated. mlemanczyk 2025-12-12 18:48:07 +01:00
  • 8b0d09cc9c Fixed capacity stack improvements to make sure that each thread gets its own instance. mlemanczyk 2025-12-12 14:43:49 +01:00
  • 8a5a8a7bb5 Results updated. mlemanczyk 2025-12-12 11:51:28 +01:00
  • 382f0c01a2 Results updated. mlemanczyk 2025-12-12 04:53:13 +01:00
  • 3e591586fb Results updated. mlemanczyk 2025-12-12 04:10:15 +01:00
  • d066c780ea Results updated. mlemanczyk 2025-12-12 03:46:42 +01:00
  • 15bcde1776 SemaphoreSlim replaced with PollingSemaphore. mlemanczyk 2025-12-12 03:41:13 +01:00
  • 471f9ac6cf Results updated. mlemanczyk 2025-12-12 03:33:26 +01:00
  • 8afd761d2a Results updated. mlemanczyk 2025-12-12 03:18:04 +01:00
  • 477d2675ef Results updated. mlemanczyk 2025-12-12 01:52:25 +01:00
  • 10f0fa272c Results updated. mlemanczyk 2025-12-12 01:05:58 +01:00
  • 45c477de5a DefaultThreadPoolCapacity updated to avoid too big arrays without reason. mlemanczyk 2025-12-12 00:57:31 +01:00
  • 49e47b161d Tiny cleanup. Namespace updated. mlemanczyk 2025-12-12 00:56:33 +01:00
  • 43376745f5 Benchmarks to compare Interlocked with Atomic added. Atomic replaced with Interlocked on CPU path as better performer. mlemanczyk 2025-12-11 23:45:01 +01:00
  • 0ec48f1f0b Tiny cleanup mlemanczyk 2025-12-11 23:27:25 +01:00
  • 51284be4fb Micro-optimizations and adjustments. mlemanczyk 2025-12-11 22:50:47 +01:00
  • 8f0cc17d90 PoolingSemaphore optimized. mlemanczyk 2025-12-11 21:46:07 +01:00
  • 60ccb3db74 Results updated. mlemanczyk 2025-12-11 21:10:37 +01:00
  • 260aa19e44 Pools renamed to FixedCapacityPools. Other fixed capacity collections added. Queues, concurrent queues and standard stacks replaced with fixed capacity stacks. MethodImplOptions.AggressiveInlining and .AggressiveOptimization added to simple methods and getters / setters. Variables optimized in few places. mlemanczyk 2025-12-11 21:10:19 +01:00
  • 547d43de84 ExponentRemainderStepperCpu local variables optimized. Cache is now driven by manually calculated key to avoid unnecessary allocations. mlemanczyk 2025-12-11 05:29:19 +01:00
  • 131b3265bc PrimeOrderCalculator.Cpu cleaned up - hybrid & GPU related methods moved to their corresponding files. mlemanczyk 2025-12-11 00:00:12 +01:00
  • 5df2cc7f9b using cleaned up. mlemanczyk 2025-12-10 23:59:04 +01:00
  • 05d3061c47 MethodImplOptions.AggressiveOptimization & MethodImplOptions.AggressiveInlining optimized. Small optimizations. mlemanczyk 2025-12-10 19:59:51 +01:00
  • 7a242b3bfa PrimeOrderCalculator.PartialFactorCpu simplified to work only with spans and throw exception if the number of factors is exceeded. PrimeOrderMode removed in favor of bool flag. mlemanczyk 2025-12-10 12:47:25 +01:00
  • 72890bf343 Dictionary and List pooling added in PrimeOrderCalculator.Cpu. mlemanczyk 2025-12-08 21:03:25 +01:00
  • 7518ba396e Results updated. mlemanczyk 2025-12-08 20:59:18 +01:00
  • f7dbc017a9 Modulo operators replaced with steppers, where possible. mlemanczyk 2025-12-08 20:57:47 +01:00
  • 475507ce0c Results updated. mlemanczyk 2025-12-08 16:39:07 +01:00
  • 5c91d79927 State saving frequency increased to prevent too many re-calculations during frequent restarts. mlemanczyk 2025-12-08 16:35:24 +01:00
  • 6e68252279 Status update improvement. mlemanczyk 2025-12-08 02:53:27 +01:00
  • f1109330df Default no. of accelerators increased back to 298 (max without exceptions). State saving interval decreased to limit unnecessary overhead. mlemanczyk 2025-12-08 02:51:04 +01:00
  • f76cf05e10 Exception message added to console output. mlemanczyk 2025-12-08 02:49:57 +01:00
  • d69ad9c64a State saving interval decreased. mlemanczyk 2025-12-07 19:17:09 +01:00
  • 6887111128 BigInteger-friendly steppers added. MersenneResidueStepper converted to struct. Manual residue tracking replaced with steppers. Modulo operations replaced with steppers. mlemanczyk 2025-12-07 19:16:45 +01:00
  • fbf074ade0 Results updated. mlemanczyk 2025-12-07 13:48:11 +01:00
  • 3f9cd53efc Results updated. mlemanczyk 2025-12-07 00:21:57 +01:00
  • a4c52e7282 Results updated. mlemanczyk 2025-12-06 23:24:03 +01:00
  • 9af8244040 Results updated. mlemanczyk 2025-12-06 20:12:09 +01:00
  • 788e11588e README updated. mlemanczyk 2025-12-06 20:11:56 +01:00
  • c44d188720 --mersenne=residue filtering results added. mlemanczyk 2025-12-06 19:47:25 +01:00
  • 3cde986fa0 Results file updated mlemanczyk 2025-12-06 15:24:11 +01:00
  • 573781f086 Results updated mlemanczyk 2025-12-06 12:33:00 +01:00
  • 374bf5fe53 Readme updated. mlemanczyk 2025-12-06 11:33:00 +01:00
  • 946798affe Results consolidated into one, raw file mlemanczyk 2025-12-06 11:30:38 +01:00
  • 86f20ed083 Support for q > 2^64 added in --mersenne=bydivisor mode mlemanczyk 2025-12-05 23:33:21 +01:00
  • cf5bd6bc1a PendingEntry.WithPrimality changed to modify the instance instead of creating a new one. mlemanczyk 2025-12-05 15:51:16 +01:00
  • 928e847f1f AscendingdivisorRemainderStepper used in PrimeTesterByLastDigit mlemanczyk 2025-12-05 14:17:24 +01:00
  • b3a325521a PrimeTester.IsPrimeCpu will now reuse remainders from previous checks. mlemanczyk 2025-12-04 12:39:56 +01:00
  • efb4933935 Tiny cleanup mlemanczyk 2025-12-04 12:34:42 +01:00
  • 19e549adc5 Readme extended. Added excluded candidates without recording the factor. mlemanczyk 2025-12-04 12:27:44 +01:00
  • bce11e0842 Factors from primality tests added. mlemanczyk 2025-12-04 12:16:09 +01:00
  • 86192a71b0 Divisor checking optimized to only flag if divisor was found or not without returning complete array of hits. We'll now also track residues for 13, 17 & 19 as the most frequent ones. mlemanczyk 2025-12-03 00:57:25 +01:00
  • 85a90c70bf --gpu-ration command-line argument added. AscendingDivisorRemainderStepper implemented in PrimeTester.IsPrimeCpu. PrimeOrderCalculator.RunOnCpu adjusted for low GPU ratios to prevent infinite increase of the counter. mlemanczyk 2025-12-02 23:36:18 +01:00
  • f43c67c86f Tasks will now save calculations progress and resume calculation upon restart. mlemanczyk 2025-12-02 00:42:38 +01:00
  • 941733905b Hybrid device mode implemented as the current --mersenne=bydivisor CPU execution path. CPU path is now limited to CPU calculations, only. mlemanczyk 2025-12-01 03:45:39 +01:00