Commit Graph
100 Commits
Author SHA1 Message Date
Marek Lemańczyk 6d82f5a608 Enable GPU execution for windowed Montgomery pow2 2025-10-17 04:11:16 +02:00
mlemanczyk f5c79c8807 Merge branch 'codex/analyze-gc-instances-in-checkdivisors-method' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into codex/analyze-gc-instances-in-checkdivisors-method 2025-10-17 03:51:09 +02:00
mlemanczyk b76ef0b11a Cache capacity initialized for better performance 2025-10-17 03:51:06 +02:00
Marek Lemańczyk 3b759c724e Merge pull request #182 from mlemanczyk/codex/locate-commit-adding-residue-tracking-arrays
Remove small prime stepper remainder cache
2025-10-17 03:50:20 +02:00
Marek Lemańczyk 534141e5a7 Remove small prime stepper remainder cache 2025-10-17 03:50:09 +02:00
Marek Lemańczyk 36a4617efe Merge pull request #181 from mlemanczyk/codex/revert-changes-from-commit-1b03fb3
Restore shared primality cache locking in CPU calculator
2025-10-17 03:30:54 +02:00
Marek Lemańczyk b985a46ed6 Restore cross-thread primality cache 2025-10-17 03:30:41 +02:00
mlemanczyk 56e413064a Using cleanup 2025-10-17 02:40:51 +02:00
mlemanczyk 495b3918c1 Compilation errors fixed 2025-10-17 02:40:15 +02:00
Marek Lemańczyk a0154dd587 Merge pull request #180 from mlemanczyk/codex/refactor-primeordercalculator-to-partial-class
Recycle small prime stepper arrays
2025-10-17 02:34:53 +02:00
Marek Lemańczyk ca0f498d0d Recycle small prime stepper arrays 2025-10-17 02:34:41 +02:00
mlemanczyk 06b08708d9 Merge branch 'codex/analyze-gc-instances-in-checkdivisors-method' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into codex/analyze-gc-instances-in-checkdivisors-method 2025-10-17 01:24:44 +02:00
Marek Lemańczyk 26894db181 Merge pull request #179 from mlemanczyk/codex/optimize-partialfactor-method-in-primeordercalculator
Hoist Pollard Rho deadline checks outside factoring loop
2025-10-17 01:15:04 +02:00
Marek Lemańczyk b81fe3de75 Hoist Pollard Rho deadline checks outside factoring loop 2025-10-17 01:14:51 +02:00
mlemanczyk d6a1fa0b51 Tiny cleanup 2025-10-17 01:05:13 +02:00
mlemanczyk 0a2e65e190 Small optimizations 2025-10-17 00:29:53 +02:00
mlemanczyk e63fba4df1 Merge branch 'codex/analyze-gc-instances-in-checkdivisors-method' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into codex/analyze-gc-instances-in-checkdivisors-method 2025-10-17 00:11:47 +02:00
Marek Lemańczyk 14fcd715c1 Merge pull request #178 from mlemanczyk/codex/optimize-primeordercalculator-small-prime-factors
Optimize CPU small prime exponent extraction
2025-10-17 00:11:06 +02:00
mlemanczyk 1b03fb311a Cache switched to thread static for better performance 2025-10-17 00:10:49 +02:00
Marek Lemańczyk 1ce1622388 Optimize CPU small prime exponent extraction 2025-10-17 00:01:43 +02:00
mlemanczyk 140c291344 Small optimizations to limit code branches 2025-10-16 23:37:06 +02:00
Marek Lemańczyk b5f8ed786c Merge pull request #177 from mlemanczyk/codex/naprawic-bad-kompilacji-math.divrem
Replace invalid DivRem usage in prime factor extraction
2025-10-16 22:01:44 +02:00
Marek Lemańczyk ab86fc16fe Fix quotient and remainder calculation in factor extraction 2025-10-16 22:01:34 +02:00
Marek Lemańczyk 806dc96f8c Merge pull request #176 from mlemanczyk/codex/replace-concurrentdictionary-with-dictionary-and-lock
Refine primality caching and small factor loop
2025-10-16 21:54:29 +02:00
Marek Lemańczyk d2e7e4905a Streamline primality cache locking 2025-10-16 21:52:42 +02:00
Marek Lemańczyk 8d9b8b1829 Replace primality cache with lock-backed dictionary 2025-10-16 21:51:42 +02:00
Marek Lemańczyk e8c1069a77 Merge pull request #175 from mlemanczyk/codex/optimize-evenperfectbitscanner-for-reduced-gc
Reduce GC pressure in divisor checking pipeline
2025-10-16 21:33:52 +02:00
mlemanczyk 4c81f9e5a2 IsPrime cache reused 2025-10-16 21:21:40 +02:00
mlemanczyk 10751bf841 Concurrent dictionary added for IsPrime results caching to utilize the repetition of composites. 2025-10-16 21:10:58 +02:00
mlemanczyk aa4ff799f3 Small optimizations 2025-10-16 19:46:25 +02:00
mlemanczyk 07395830a5 Unnecessary cleanup commented out 2025-10-16 18:13:28 +02:00
Marek Lemańczyk e53bb6ba43 Track small-prime remainders with cycle steppers 2025-10-16 17:18:27 +02:00
Marek Lemańczyk fb08a61c66 Restore pooled small factor buffers 2025-10-16 17:18:19 +02:00
Marek Lemańczyk 949b5f891c Return windowed Montgomery odd powers to pooling 2025-10-16 04:52:22 +02:00
Marek Lemańczyk 3e7ee6ab46 Restore pooled buffers in partial factorization 2025-10-16 04:52:17 +02:00
Marek Lemańczyk ff724732f8 Allow test mode to seed by-divisor runs 2025-10-16 03:42:55 +02:00
Marek Lemańczyk 03751c27be Add timed test mode for prime candidate scans 2025-10-16 03:17:27 +02:00
Marek Lemańczyk 9c474fc241 Use stack buffers for small composite collections 2025-10-16 00:59:00 +02:00
Marek Lemańczyk 3e7bffc812 Refactor heuristic pooling to cut GC pressure 2025-10-16 00:37:01 +02:00
Marek Lemańczyk 0a23502441 Clear heuristic candidate list without try-finally 2025-10-15 23:57:46 +02:00
Marek Lemańczyk 51730bcba3 Reduce GC pressure in divisor checking pipeline 2025-10-15 23:43:27 +02:00
Marek Lemańczyk 571b5a9938 Replace divisor scan UInt128 usage with thread-static GpuUInt128 2025-10-15 22:48:36 +02:00
Marek Lemańczyk 9ab87a8b9b Streamline factor cache lease usage in CPU tester 2025-10-15 21:55:30 +02:00
Marek Lemańczyk 64c3721db4 Streamline divisor factor pooling for CPU hot path 2025-10-15 21:50:11 +02:00
Marek Lemańczyk c99aebdf68 Restore divisor cycle fallback and enforce session disposal guard 2025-10-15 21:29:24 +02:00
Marek Lemańczyk 763714307f Eliminate GC allocations from CPU divisor scan hot path 2025-10-15 20:48:42 +02:00
Marek Lemańczyk b0ce7152f7 Pool factor cache entries to keep CPU factoring allocation-free 2025-10-15 20:48:33 +02:00
Marek Lemańczyk 34fcd62c23 Eliminate GC pressure from divisor cycle factoring 2025-10-15 19:32:53 +02:00
Marek Lemańczyk c8f8132db7 Align divisor pooling with review feedback 2025-10-15 19:32:45 +02:00
Marek Lemańczyk e44662413a Use thread-static pools in CPU divisor testing 2025-10-15 18:10:39 +02:00
Marek Lemańczyk a70113a99d Merge pull request #173 from mlemanczyk/codex/analyze-and-reduce-gc-cost-in-primeordercalculator
Reduce Pollard Rho stopwatch allocations to lower GC pressure
2025-10-15 04:39:59 +02:00
Marek Lemańczyk 0b831b5a23 Reduce PartialFactor GC pressure 2025-10-15 04:39:46 +02:00
Marek Lemańczyk 77bc2601f1 Merge pull request #172 from mlemanczyk/codex/add-max-prime-parameter-to-evenperfectbitscanner
Add max prime filter option
2025-10-15 03:31:10 +02:00
Marek Lemańczyk 0055be366d Add max prime filter option 2025-10-15 03:30:57 +02:00
mlemanczyk 2f85636a2a Tiny cleanup 2025-10-15 03:21:38 +02:00
mlemanczyk d3695a3dc3 Pools made thread static. Various small optimizations. "in" parameter added to read-only method parameters 2025-10-15 02:17:13 +02:00
mlemanczyk 7c71d5165e TODO added 2025-10-13 21:16:03 +02:00
mlemanczyk e9373dd8c9 PollardRho extended to allow running with 10_240 threads. Configuration made static to prevent unnecessary GC pressure. 2025-10-13 20:44:15 +02:00
mlemanczyk 313286f70d Configuration adjusted 2025-10-13 20:13:44 +02:00
mlemanczyk 5a4a5e4d98 Heuristic defaults restored. 2025-10-10 22:48:46 +02:00
mlemanczyk ee2df92a15 Performance improvement to decrease startup time. 2025-10-10 22:48:28 +02:00
Marek Lemańczyk 38120fba13 Merge pull request #145 from mlemanczyk/codex/merge-selective-improvements-from-pollardrhoplus2
Remove default prime order overloads
2025-10-10 21:52:09 +02:00
Marek Lemańczyk c9ae56a5ec Remove default prime order overloads 2025-10-10 21:51:41 +02:00
mlemanczyk 64c08f9b49 We'll resolve the check when divisor cycle equals p. Tiny cleanup 2025-10-09 00:18:48 +02:00
Marek Lemańczyk 79d821c475 Merge pull request #127 from mlemanczyk/codex/review-caching-in-evenperfectbitscanner
Compact by-divisor candidate filtering
2025-10-08 23:34:56 +02:00
Marek Lemańczyk adac9ff5f9 Compact by-divisor candidate filtering 2025-10-08 23:34:35 +02:00
Marek Lemańczyk 4ab70ec4a8 Merge pull request #126 from mlemanczyk/codex/analyze-thread-processing-in-evenperfectbitscanner
Enable parallel by-divisor Mersenne scanning
2025-10-08 22:46:16 +02:00
Marek Lemańczyk 9a81f5f685 Enable parallel by-divisor scanning threads 2025-10-08 22:45:53 +02:00
Marek Lemańczyk 686d482417 Merge pull request #125 from mlemanczyk/codex/analyze-evenperfectbitscanner-gpu-execution
Reduce GPU remainder transfers for divisor filtering
2025-10-08 22:28:49 +02:00
Marek Lemańczyk 85a98eb009 Reduce GPU remainder transfers for divisor filtering 2025-10-08 22:28:36 +02:00
Marek Lemańczyk 5a66abe672 Merge pull request #124 from mlemanczyk/codex/enhance-tests-for-mersenne-class-path
Add GPU by-divisor tests for small factors
2025-10-08 21:39:25 +02:00
Marek Lemańczyk fbe9a98b42 Add GPU by-divisor coverage for small factors 2025-10-08 21:39:10 +02:00
Marek Lemańczyk 4afe0e356e Merge pull request #123 from mlemanczyk/codex/adjust-bydivisor-path-for-divisor-cycles
Align CPU by-divisor scan with divisor cycle cache filters
2025-10-08 20:16:05 +02:00
Marek Lemańczyk c45b3951c3 Align CPU by-divisor scan with cached divisor filters 2025-10-08 20:15:26 +02:00
mlemanczyk 632957e4f4 Spell-check settings adjusted 2025-10-08 19:57:10 +02:00
mlemanczyk 6dc26336c6 Remainder check adjusted to PrimesGenerator. 2025-10-08 19:56:53 +02:00
Marek Lemańczyk 6a4ee0e2c5 Merge pull request #122 from mlemanczyk/codex/modify-evenperfectbitscanner-for-divisor-cycles
Filter CPU divisor-by-divisor scan by residue heuristics
2025-10-08 19:23:47 +02:00
Marek Lemańczyk 85634da6eb Filter CPU divisor checks by admissible residues 2025-10-08 19:23:09 +02:00
Marek Lemańczyk 26abc2dfa8 Merge pull request #121 from mlemanczyk/codex/restore-cache-functionality-for-gpu-path
Use ReadOnlyGpuUInt128 in by-divisor GPU kernels
2025-10-08 18:47:54 +02:00
Marek Lemańczyk 6918bd28ff Make by-divisor GPU kernels reuse read-only operands 2025-10-08 18:47:16 +02:00
Marek Lemańczyk cd1debe9d6 Various micro- and medium- optimizations 2025-10-07 22:14:34 +02:00
Marek Lemańczyk 2eb622030e Temporary test results added for bydivisor processing 2025-10-07 22:06:16 +02:00
Marek Lemańczyk 762b9bd9f3 Benchmark results added 2025-10-07 22:02:15 +02:00
Marek Lemańczyk b27c8bffa7 Launch settings updated for bydivisor method 2025-10-07 22:02:00 +02:00
Marek Lemańczyk c87f88fd88 Generic TODO list added 2025-10-07 22:01:40 +02:00
Marek Lemańczyk 2dd5a679e2 Spell-check settings updated 2025-10-07 22:00:01 +02:00
Marek Lemańczyk e0a5eea62d Profiling results added 2025-10-07 21:59:38 +02:00
Marek Lemańczyk 48127845b5 GPU errors won't go silently, so that we can analyze and fix them. 2025-10-07 21:57:27 +02:00
Marek Lemańczyk 31e95e5a8b Merge pull request #120 from mlemanczyk/codex/refactor-cycle-calculation-methods-for-mersenne
Streamline by-divisor cycle equality checks
2025-10-05 21:33:10 +02:00
Marek Lemańczyk 16181903a1 Streamline by-divisor cycle equality checks 2025-10-05 21:32:40 +02:00
Marek Lemańczyk bd8686b86b Unused parameter removed 2025-10-05 19:14:42 +02:00
Marek Lemańczyk 894a3d8af2 Small console info status updates added 2025-10-05 19:11:13 +02:00
Marek Lemańczyk ac846df7d9 Merge pull request #119 from mlemanczyk/codex/restore-original-method-content-after-exception
Restore incremental GPU scan body after temporary disable
2025-10-05 17:39:50 +02:00
Marek Lemańczyk 581da24b2f Restore GPU incremental scan logic behind exception 2025-10-05 17:39:31 +02:00
Marek Lemańczyk 0543306f31 Merge pull request #118 from mlemanczyk/codex/identify-and-fix-failing-fast-tests
Fix odd power table updates in GPU heuristics
2025-10-05 16:57:35 +02:00
Marek Lemańczyk 20120f5bc0 Fix odd power table updates in GPU heuristics 2025-10-05 16:55:27 +02:00
Marek Lemańczyk ce1355c749 Compilation errors fixed 2025-10-05 13:13:47 +02:00
Marek Lemańczyk 4f80baf0bc Merge pull request #116 from mlemanczyk/codex/fix-ilgpu-internal-compiler-exception
Fix GPU Montgomery table allocation for ILGPU compatibility
2025-10-05 06:43:18 +02:00
Marek Lemańczyk 6b1ebf01a6 Replace inline array in Montgomery table for GPU support 2025-10-05 06:42:38 +02:00
Marek Lemańczyk b4c384247a Merge pull request #115 from mlemanczyk/codex/analyze-and-fix-ilgpu-internal-compiler-error
Fix GPU compatibility for windowed Montgomery pow2 helper
2025-10-05 06:36:01 +02:00