![]() |
![]() |
#529 |
Dec 2011
After milion nines:)
3·11·43 Posts |
![]()
Single sequence is only I need 😊
|
![]() |
![]() |
![]() |
#530 | |
Dec 2011
After milion nines:)
141910 Posts |
![]() Quote:
CPU is Intel 9600K ( 5% utilization) GPU is 1660 Super ( working only with this program) I experiment with g , and if I go above 150 my gpu utilization spikes from 0 -100% but speed is same as I use g=120 so it is around 742.3K p/sec I will kindly ask to explain -W and -w parameters since they clearly are not same as in rest of mtsieve package. Test was done on sequence 92*10^n-1 from ( sieve is from 1M4 to 3M) with 93883 candidates |
|
![]() |
![]() |
![]() |
#531 | |
"Mark"
Apr 2003
Between here and the
3×7×13×23 Posts |
![]() Quote:
-W is used to specify the number of CPU only workers. -w is the number of primes per chunk per worker. -G is used to specify the number of GPU only workers. -g is a multiplier for the CL_DEVICE_MAX_COMPUTE_UNITS * CL_KERNEL_WORK_GROUP_SIZE to compute the number of primes per chunk per worker. For CPU-only exes, -W defaults to 1 and -w to 1e6. For GPU exes, -W defaults to 0 and -G default to 1 and -g defaults to 10. For GPU-only exes, if p_min < a threshold determined at runtime, then a CPU worker is used even if -W is 0, but that CPU worker is only used until p_min > that threshold. IIRC, that threshold is min(1e6, k) for srsieve2cl. 1e6 is used because the factor density is fairly high for low p and I want to limit how much GPU memory is needed to pass factors back to the CPU. It is typically n_max or k_max for other GPU exes. -M is used to adjust the amount of memory needed for returning factors. If the default is not sufficient, then you will be told at runtime to adjust it if it detects too many factors for given -M. You can use -W with a value > 0 for GPU exes, but that really depends upon the relative speed of your CPU to your GPU. You cannot use -G with CPU-only exes. I don't see a usage for -G > 1, but I suppose you can do that if -g isn't large enough to keep your GPU busy. If -g is too large you could encounter screen lag. I hope that answers your questions. |
|
![]() |
![]() |
![]() |
#532 |
Dec 2011
After milion nines:)
3·11·43 Posts |
![]()
I can compare speed of sieves only by finish date
|
![]() |
![]() |
![]() |
#533 |
"Mark"
Apr 2003
Between here and the
142078 Posts |
![]() |
![]() |
![]() |
![]() |
#534 |
"Nuri, the dragon :P"
Jul 2016
Good old Germany
5·7·23 Posts |
![]()
I encountered an bug while using srsieve2 on an large input file (around 100 MB). After two days of sieving it stopped at the given Pmax; but look at the screen output:
Code:
p=19852801223, 178.6 p/sec, 4397895 factors found at 6.62 sec per factor (last p=19852801223, 180.6 p/sec, 4397919 factors found at 6.63 sec per factor (last p=19852801223, 176.3 p/sec, 4397936 factors found at 6.64 sec per factor (last p=19852801223, 180.7 p/sec, 4397951 factors found at 6.65 sec per factor (last 517 min), 99.2% done. ETC 2021-02-05 12:14 2 workers didn't stop after 10 minutes D:\sieve> Which also means he didnt saved the file, last checkpoint was around 4 hours ago which is okay. However i wonder why it did crash, is there a function that gives the app an timeout after a worker didnt reported the results back after reaching n-minutes? |
![]() |
![]() |
![]() |
#535 | |
"Mark"
Apr 2003
Between here and the
188716 Posts |
![]() Quote:
To get around the problem, I suggest that you use -w1e3 or -w1e4 (the default is -w1e6). This will give smaller chunks of work to each worker and thus they can process the chunk must faster. This will have a negligible affect on overall rate since so little time is spent in the prime sieve. |
|
![]() |
![]() |
![]() |
#536 |
"Alexander"
Nov 2008
The Alamo City
2·3·5·19 Posts |
![]()
I ran into an issue starting a new Riesel sieve with multiple workers:
Code:
$ ./bin/srsieve2 -W 3 -n 125e3 -N 300e3 -P 1e9 -o t17_b2.prp -f B -s "14549535*2^n-1" srsieve2 v1.5, a program to find factors of k*b^n+c numbers for fixed b and variable k and n Sieving with generic logic for p >= 3 Sieve started: 3 < p < 1e9 with 175001 terms (125000 < n < 300000, k*2^n+c) (expecting 165723 factors) Sieving with generic logic for p >= 257 Split 1 base 2 sequence into 1 base 2^1 sequences. Fatal Error: Invalid factor: 14549535*2^128595-1 mod 34747 = 22443 Code:
$ ./bin/srsieve2 -W 1 -n 125e3 -N 300e3 -P 1e9 -o t17_b2.prp -f B -s "14549535*2^n-1" srsieve2 v1.5, a program to find factors of k*b^n+c numbers for fixed b and variable k and n Sieving with generic logic for p >= 3 Sieve started: 3 < p < 1e9 with 175001 terms (125000 < n < 300000, k*2^n+c) (expecting 165723 factors) Sieving with generic logic for p >= 257 Split 1 base 2 sequence into 1 base 2^1 sequences. Sieving one sequence where abs(c) = 1 for p >= 15489191 Split 1 base 2 sequence into 171 base 2^180 sequences. 741796 bytes used for congruence tables 1617098 bytes used for Legendre tables ^CCTRL-C accepted. Threads will stop after sieving to 32456407 Sieve interrupted at p=32456407. CPU time: 16.72 sec. (0.03 sieving) (0.97 cores) 43690 terms written to t17_b2.prp Primes tested: 1000000. Factors found: 131311. Remaining terms: 43690. Time: 17.19 seconds. Last fiddled with by Happy5214 on 2021-02-08 at 09:42 |
![]() |
![]() |
![]() |
#537 | |
"Mark"
Apr 2003
Between here and the
3·7·13·23 Posts |
![]() Quote:
|
|
![]() |
![]() |
![]() |
#538 |
"Mark"
Apr 2003
Between here and the
3·7·13·23 Posts |
![]()
I see what I did wrong It was something I introduced in the most recent release. I'll fix in the next release. Since you are on linux or OS X, I have committed the files so you can build and try again.
Last fiddled with by rogue on 2021-02-08 at 16:36 |
![]() |
![]() |
![]() |
#539 |
"Alexander"
Nov 2008
The Alamo City
10728 Posts |
![]()
It worked, though I actually didn't need it anymore. My workflow involves using srsieve2 to 1e9 and the faster sr1sieve or sr2sieve beyond that (this old box has no real GPU option), so I just burned the extra minute and ran it with one worker.
|
![]() |
![]() |