mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Software (https://www.mersenneforum.org/forumdisplay.php?f=10)
-   -   mtsieve enhancements (https://www.mersenneforum.org/showthread.php?t=25486)

rogue 2020-12-30 23:34

[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?

pepi37 2020-12-30 23:38

[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

rogue 2020-12-31 01:41

If you use ^C, does it save the correct value at the top of the file?

pepi37 2020-12-31 01:58

[QUOTE=rogue;567790]If you use ^C, does it save the correct value at the top of the file?[/QUOTE]


Yes

Happy5214 2020-12-31 09:33

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]?

rogue 2020-12-31 13:54

[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.

rogue 2020-12-31 21:31

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.

rogue 2021-01-01 15:11

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".

pepi37 2021-01-01 21:07

[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)

rogue 2021-01-01 22:41

[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.

pepi37 2021-01-01 23:14

[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 14:45.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.