mersenneforum.org  

Go Back   mersenneforum.org > Prime Search Projects > Conjectures 'R Us

Reply
 
Thread Tools
Old 2010-06-30, 20:38   #23
Lennart
 
Lennart's Avatar
 
"Lennart"
Jun 2007

112010 Posts
Post

Reserving 45T-46T Lennart

Note: In ~3 hr i will upload a new file sieved to 40T

Last fiddled with by Lennart on 2010-06-30 at 20:41
Lennart is offline   Reply With Quote
Old 2010-06-30, 22:51   #24
Lennart
 
Lennart's Avatar
 
"Lennart"
Jun 2007

25×5×7 Posts
Post

Reserving 46T-70T Lennart
Lennart is offline   Reply With Quote
Old 2010-06-30, 23:39   #25
Lennart
 
Lennart's Avatar
 
"Lennart"
Jun 2007

25×5×7 Posts
Smile

Here are the new sievefile. sieved to 40T


Lennart
Attached Files
File Type: zip sr_R6_40T.zip (18.1 KB, 125 views)
Lennart is offline   Reply With Quote
Old 2010-07-01, 04:20   #26
gd_barnes
 
gd_barnes's Avatar
 
May 2007
Kansas; USA

101·103 Posts
Default

Quote:
Originally Posted by mdettweiler View Post
Ah, I think I see where the misunderstanding is coming in. The -t switch does not specify which core that instance of sr*sieve should use, but rather how many 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.
I'm still confused. So if you specify -t8 and there are no other processes running on the machine, one instance of either sr1sieve or sr2sieve will run 8 times as fast because it FILLS UP all 8 cores? That seems to be what you are implying but it seems incorrect to me.

I still don't get it. Don't you have to run 8 instances of srxsieve? Or can you just run one instance and have it run 8 times as fast by using the -t8 switch? I would test this myself except my I7 is busy with 3 things that I don't want to stop right now.

(Well, technically, it would run ~5-6 times as fast since the 5-6 cores is the full multithreading equivalent.)

Last fiddled with by gd_barnes on 2010-07-01 at 04:51
gd_barnes is online now   Reply With Quote
Old 2010-07-01, 04:46   #27
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

3·2,083 Posts
Default

Quote:
Originally Posted by gd_barnes View Post
I'm still confused. So if you specify -t8 and there are no other processes running on the machine, one instance of either sr1sieve or sr2sieve will run 8 times as fast because it FILLS UP all 8 cores? That seems to be what you are implying but it seems incorrect to me.

I still don't get it. Don't you have to run 8 instances of srxsieve? Or can you just run one instance and have it run 8 times as fast by using the -t8 switch? I would test this myself except my I7 is busy with 3 things that I don't want to stop right now.

(Well, technically, it would run ~5-6 times as fast since the equivalent of 5-6 cores is the full hyperthreading equivalent.)
You are correct--running with -t 8 fills up all 8 cores and utilizes them to run (theoretically--in real life there's a slight performance hit) 8 times as fast.

Normally when you want to run a range of size x on y cores, you divide it into y chunks of size x/y, and run one instance of sr*sieve on each core, each running one of the smaller chunks. Each sr*sieve process is a rather straightforward process that can only talk to one core at a time, referred to as "single-threaded" in programming parlance. But when the -t flag is used, it goes into "multi-threaded" mode: when you use -t y, for instance, it splits into y+1 "subprocesses", one coordinating process and y workers. The coordinating process takes a small chunk of work (say, a p-range of 32000) and divides it up into y chunks, of p=32000/y size apiece. Each worker thread is given one of these. When it completes, it reports back to the main thread and tells it which factors it found. After each worker has finished its respective chunk, the coordinating process divides up the next p=32000 chunk similarly and begins again. Etc., etc. until the overall p-range is done.

The end effect is that (for instance) when sr*sieve is run with -t 4 on a quad, it keeps all four cores busy, and runs about four times as fast as a "regular" single instance would. The small performance hit I mentioned before is the trade-off to be considered against the extra effort of dividing up p-ranges manually and running 4 separate single-threaded instances of sr*sieve.

Does that make sense now?
mdettweiler is offline   Reply With Quote
Old 2010-07-01, 04:49   #28
gd_barnes
 
gd_barnes's Avatar
 
May 2007
Kansas; USA

101·103 Posts
Default

Quote:
Originally Posted by mdettweiler View Post
Does that make sense now?
No, not at all. Please reword it completely.



Thanks for the detailed explanation. I will utilize it in the future if the performance hit isn't too large.
gd_barnes is online now   Reply With Quote
Old 2010-07-01, 05:06   #29
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

3×2,083 Posts
Default

Quote:
Originally Posted by gd_barnes View Post
No, not at all. Please reword it completely.



Thanks for the detailed explanation. I will utilize it in the future if the performance hit isn't too large.
Note that this only works under Linux because Geoff (the guy who wrote sr*sieve) couldn't figure out how to get mutlithreading to work on Windows yet. Unfortunately, IIRC he's essentially put sr*sieve development on hold lately for lack of time--so this may not be remedied any time soon.

Of late a possible replacement for srsieve, has emerged in the form of ppsieve, which is based on tpsieve (a twin prime sieve used over at TPS that's the current state of the art and which is in turn based on sr1sieve). Currently it only supports k*2^n+-1 (so only base 2 and power-of-2 bases), but I believe it supports mutithreading on both Windows and Linux. I'm not sure how it compares to sr2sieve speed-wise but I believe it's at least about as fast. There's also a GPU version in beta that PrimeGrid has used to great effect with their Proth Prime Search recently. (I mentioned this before to you in an email when we were discussing GPUs--this would be useful at NPLB but of limited use for CRUS.)
mdettweiler is offline   Reply With Quote
Old 2010-07-01, 20:53   #30
Lennart
 
Lennart's Avatar
 
"Lennart"
Jun 2007

25·5·7 Posts
Smile

Here are all factors for 45T-70T

Lennart
Attached Files
File Type: txt r6_45T-70T.txt (7.7 KB, 134 views)
Lennart is offline   Reply With Quote
Old 2010-07-14, 10:39   #31
gd_barnes
 
gd_barnes's Avatar
 
May 2007
Kansas; USA

101·103 Posts
Default

Chris,

Can you post your factors for P=40T-45T? I'll then remove all factors to P=70T from the file. Thanks.
gd_barnes is online now   Reply With Quote
Old 2010-07-14, 11:26   #32
Flatlander
I quite division it
 
Flatlander's Avatar
 
"Chris"
Feb 2005
England

31×67 Posts
Default

Sorry, I thought I had.

" Just post the file here in this thread or if it is too big..." lol
Attached Files
File Type: txt factors.txt (2.2 KB, 146 views)
Flatlander is offline   Reply With Quote
Old 2010-07-15, 05:47   #33
gd_barnes
 
gd_barnes's Avatar
 
May 2007
Kansas; USA

101×103 Posts
Default

All factors to P=70T have now been removed from the sieve file in the 1st post.
gd_barnes is online now   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Riesel base 6 - team drive #4 - EIGHT OR BUST! gd_barnes Conjectures 'R Us 401 2015-05-27 15:15
Riesel base 16 - team drive #2 gd_barnes Conjectures 'R Us 213 2014-02-26 09:35
Sieving Riesel & Sierp base 16 gd_barnes Conjectures 'R Us 13 2009-12-14 09:23
Sieving drive Riesel base 6 n=150K-1M gd_barnes Conjectures 'R Us 27 2009-10-08 21:49
Riesel base 3 - mini-drive I gd_barnes Conjectures 'R Us 199 2009-09-30 18:44

All times are UTC. The time now is 10:18.


Tue Jul 27 10:18:15 UTC 2021 up 4 days, 4:47, 0 users, load averages: 1.50, 1.93, 1.94

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

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.