![]() |
[QUOTE=pepi37;567778]Great! so let test it!
and first bug found fbncsieve.exe -P 6000000000000000 -i 1100.txt -o 1100.txt -f N -W6 -O s53factodes.txt fbncsieve v1.4, a program to find factors of k*b^n+c numbers for fixed b, n, and c and variable k Sieve started: [COLOR=red][B]347880187459691[/B][/COLOR] < p < 6e15 with 75104 terms (1014 < k < 1999948, k*10^1100000+1) (expecting 5887 factors) [COLOR=Red][B]p=0[/B][/COLOR], 22.89M p/sec, no factors found[/QUOTE] Email me your input file and I’ll take a look. Did this work in a previous release? |
[QUOTE=rogue;567784]Email me your input file and I’ll take a look. Did this work in a previous release?[/QUOTE]
bat file fbncsieve.exe -p 347880187459691 -P 6000000000000000 -i 1100.txt -o 1100.txt -f N -W6 -O s53factodes.txt first first lines of input file 347880187459691:P:1:10:1 1014 1100000 1015 1100000 1038 1100000 1075 1100000 1092 1100000 1107 1100000 1113 1100000 1131 1100000 1161 1100000 1171 1100000 1183 1100000 1191 1100000 1201 1100000 1216 1100000 |
If you use ^C, does it save the correct value at the top of the file?
|
[QUOTE=rogue;567790]If you use ^C, does it save the correct value at the top of the file?[/QUOTE]
Yes |
In [c]App::GetWorkerStats[/c], what happens when [c]ip_Workers[0][/c] is an ordinary worker? Wouldn't the last iteration be out-of-bounds?
Edit: Ditto for [c]App::GetLargestPrimeTested[/c]? |
[QUOTE=Happy5214;567812]In [c]App::GetWorkerStats[/c], what happens when [c]ip_Workers[0][/c] is an ordinary worker? Wouldn't the last iteration be out-of-bounds?
Edit: Ditto for [c]App::GetLargestPrimeTested[/c]?[/QUOTE] I'm not certain what you mean by "out of bounds". Nevertheless there is a bug in those routines, but it should only impact executables with GPU workers. |
The issue with fbncsieve is that you have -W6. Some of the workers are not doing anything either because your machine doesn't have enough horsepower or because the workers are executing so quickly on their chunk of work that the other workers do not have an opportunity to get work.
You have two options. You can either decrease the number of workers or you can use -w to give each worker enough work to keep them busy. The framework works in a way that the main thread is sieving for the next chunk of work. If a worker thread completes its work before the main thread completes sieving for another worker thread, then the first worker thread will get the next chunk of work. It would require some re-thinking on my part to guarantee that all workers get work, but it could be at the expensive of overall performance when using one thread. |
I am working on a change to the framework to do a better job of determining the "largest prime sieved" to address this issue. Conceptually it will "ignore" workers that have done no work and workers that are waiting for work, so only currently executing workers have a "say" in the "largest prime sieved".
|
[QUOTE=rogue;567885]The issue with fbncsieve is that you have -W6. Some of the workers are not doing anything either because your machine doesn't have enough horsepower or because the workers are executing......[/QUOTE]
I dont think that is case. sieve file has 72000 candidates, so I dont think any worker has left without work. If sieve is done until some depth, why is problem to sieve start from that point? Srxsieve works for many years without any problem ( even on Linux where is MT) |
[QUOTE=pepi37;567974]I dont think that is case. sieve file has 72000 candidates, so I dont think any worker has left without work. If sieve is done until some depth, why is problem to sieve start from that point?
Srxsieve works for many years without any problem ( even on Linux where is MT)[/QUOTE] This isn't about the input file. This is about how each worker thread gets a chunk of primes to work on. It is fundamentally different than how srxsieve does it. |
[QUOTE=rogue;567995]
You can either decrease the number of workers or you can use -w to give each worker enough work to keep them busy.[/QUOTE] Excuse me, but what is point of have MT sieve that six core CPU doesnot have "horsepower" to feel all workers? So if I take 6*1 instance of your sieve then my CPU will have "enough horsepower" but if I use 1*6 then it wont? I still think that is only cosmetic bug , not real one, since [QUOTE]e:\MTSIEVE\[COLOR=Red][B]MTSIEVE2037[/B][/COLOR]>fbncsieve.exe -p 347880187459691 -P 6000000000000000 -i 1100.txt -o 1100.txt -f N -W6 -O s53factodes.txt fbncsieve v1.4, a program to find factors of k*b^n+c numbers for fixed b, n, and c and variable k Sieve started: 347880187459691 < p < 6e15 with 75104 terms (1014 < k < 1999948, k*10^1100000+1) (expecting 5887 factors) p=[B][COLOR=red]347927117723473[/COLOR][/B], 22.98M p/sec, no factors found, 0.0% done. ETC 2021-03-28 00:53[/QUOTE] Sieve speed is same , version from build 2037 and latest one. |
| All times are UTC. The time now is 19:50. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.