![]() |
[quote=Lennart;220258]Here are my timings.
sr1sieve 1.41 1597 sr1sieve 133514792 p/sec 36772 sr1sieve 111216565 p/sec Both k using sr2sieve 1.8.11 71742478 p/sec Lennart[/quote] I am also using 1.4.1 and 1.8.11. That's strange. The average of the 2 k's divided by 2, ~12.2M/2=6.1M makes sr2sieve ~15% faster for you. For me, they were identical, i.e. Sr1sieve: 1597 26M P/sec 36772 20M P/sec average 23M. Adjust for comparison to sr2sieve: 23M / 2 = 11.5M. Sr2sieve on both k's: 11.5M P/sec This was only the 4th core running out of 8 cores on an I7 so as to not get any slowdown or interruption from other processes. It was at a sieve depth of P=4G so would be quite a bit slower than P=20T or wherever you happen to be at. Adjust higher for that and lower for the more cores and it probably comes in close to yours. In order to determine which one was better, I had to do the more detailed process, which showed sr2sieve as ~2% faster. I might suggest that you do the type of test that I did. Sometimes a snapshot of the P-rate can be inaccurate. My 10 mins. test on both of them eliminated any possibility of a temporary process affecting anything too much. Later on, I'll test it with all 8 cores running sieving. I cannot imagine that will have an impact on the percentage of difference between the 2 programs since they apparently use the same calculations / processes, but one never knows. Gary |
[quote=Lennart;220251]
I will use one computer and use -t8 Lennart[/quote] I forgot to ask. What is -t8 ? I don't see it talked about in the help or readme. Should I be using that on an 8-core I7 ? Perhaps that is the speedup that you are getting for sr2sieve and I am not getting it. |
[quote=gd_barnes;220260]I forgot to ask. What is -t8 ? I don't see it talked about in the help or readme. Should I be using that on an 8-core I7 ?
Perhaps that is the speedup that you are getting for sr2sieve and I am not getting it.[/quote] I start srxsieve like this. ./sr2sieve -p22e12 -P23e12 -iinput.txt -ffactors.txt -q -t8 -t8 means it will use all 8 core when i start this. I don't need to start one instance on each core. I only start one instance and it use all 8 core. On a quad you use -t4 and on a duo -t2 sometime i work on a computer and need some CPU power to other work then I use to start -t7 to have one core free. Lennart |
All of that is what I use except the -f and -t8 switches. The default is for it to write factors to factors.txt so I don't use that unless I'm sieving multiple bases in batch and need different file names.
Thanks. I'll try the -t8 switch and see what happens. I thought the I7 would utilize all 8 cores anyway unless I tell it specific CPUs to use (which I do not) but the switch is worth a try. |
[quote=gd_barnes;220263]All of that is what I use except the -f and -t8 switches. The default is for it to write factors to factors.txt so I don't use that unless I'm sieving multiple bases in batch and need different file names.
Thanks. I'll try the -t8 switch and see what happens. I thought the I7 would utilize all 8 cores anyway unless I tell it specific CPUs to use (which I do not) but the switch is worth a try.[/quote] When I run on a i7 with -t8 using sr2sieve both k's I use to do 77-80Mp/sec so I think you should get about 70-80Mp/sec if you run 8 core on a i7. Lennart EDIT: This is only working on Linux. |
Taking 40-45T
(ETA 6th July) |
[quote=gd_barnes;220263]All of that is what I use except the -f and -t8 switches. The default is for it to write factors to factors.txt so I don't use that unless I'm sieving multiple bases in batch and need different file names.
Thanks. I'll try the -t8 switch and see what happens. I thought the I7 would utilize all 8 cores anyway unless I tell it specific CPUs to use (which I do not) but the switch is worth a try.[/quote] The -t switch only works for linux and AFAIK your i7 is windows. |
[quote=henryzz;220296]The -t switch only works for linux and AFAIK your i7 is windows.[/quote]
That is correct. I also confirmed that both sr1sieve/sr2sieve as well as all other programs automatically use all 8 CPUs so I doubt any switch will make any difference. I will test it with all 8 cores sieving as soon as a couple of things finish up within 2-3 days. All of the rest of my machines are Linux quads; only 5 of which are good sievers. But the I7 smokes them all for sieving throughput. |
[quote=gd_barnes;220307]That is correct. I also confirmed that both sr1sieve/sr2sieve as well as all other programs automatically use all 8 CPUs so I doubt any switch will make any difference.[/quote]
Eh...excuse me? Are you saying that running ONE instance of sr1sieve/sr2sieve fills up ALL 8 of your i7's cores automatically? I would think that you'd need to run 8 instances in order to do that. What the -t switch does is have the program do [i]automatic[/i] multithreading. That is, it handles splitting up the range into small chunks itself, distributes them to the specified # of cores, collects the results, etc. The result is a small decrease in efficiency over running separate instances (due to overhead from communication between the cores), though often the gain in human-time savings is worth it. |
[quote=mdettweiler;220313]Eh...excuse me? Are you saying that running ONE instance of sr1sieve/sr2sieve fills up ALL 8 of your i7's cores automatically? I would think that you'd need to run 8 instances in order to do that.
What the -t switch does is have the program do [I]automatic[/I] multithreading. That is, it handles splitting up the range into small chunks itself, distributes them to the specified # of cores, collects the results, etc. The result is a small decrease in efficiency over running separate instances (due to overhead from communication between the cores), though often the gain in human-time savings is worth it.[/quote] Excuse yourself. :-) Did I [I]say[/I] that it [I]fills[/I] them up? lol No. I said that it [I]uses[/I] them. It utilizies all 8 CPUs as it needs. When I click on task manager and pull up the properties of sr1sieve or sr2sieve, it shows that all 8 CPUs are checked even though I have not used the -t switch. Clearly that is the Windows default for all programs; well, at least the ones that we use for prime searching because LLR, PFGW, and srxsieve all default to "using" all 8 CPUs for each instance. I don't understand why this -t switch is even needed for Windows. What it appears to do is what Windows does automatically; that is utilize all 8 cores. Why is it needed? Perhaps Linux is not as sophisticated. |
[quote=gd_barnes;220329]Excuse yourself. :-) Did I [I]say[/I] that it [I]fills[/I] them up? lol No. I said that it [I]uses[/I] them. It utilizies all 8 CPUs as it needs. When I click on task manager and pull up the properties of sr1sieve or sr2sieve, it shows that all 8 CPUs are checked even though I have not used the -t switch. Clearly that is the Windows default for all programs; well, at least the ones that we use for prime searching because LLR, PFGW, and srxsieve all default to "using" all 8 CPUs for each instance.
I don't understand why this -t switch is even needed for Windows. What it appears to do is what Windows does automatically; that is utilize all 8 cores. Why is it needed? Perhaps Linux is not as sophisticated.[/quote] Ah, I think I see where the misunderstanding is coming in. The -t switch does not specify [I]which[/I] core that instance of sr*sieve should use, but rather [I]how many[/I] cores that instance should use. That is, if you use -t 2, then one instance of sr*sieve will fill up two cores (just like two instances without the -t switch). On either Windows or Linux, one can still use the "old fashioned" method of dividing up p-ranges over multiple cores manually and running separate instances. However, this offers an alternative that automates that process somewhat. |
| All times are UTC. The time now is 10:18. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.