mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Sierpinski/Riesel Base 5 (https://www.mersenneforum.org/forumdisplay.php?f=54)

 jasong 2005-03-06 05:30

I would love to run this project. Unfortunately, the options in prime95 don't seem to allow for assigning a range of n to a set k.

Sticky time, maybe?

 geoff 2005-03-06 07:00

Getting started

Here is a rough guide using [url=http://www.utm.edu/research/primes/programs/NewPGen/]NewPGen[/url] to sieve and [url=http://www.mersenne.org/gimps/]PRP[/url] to test. These programs are available for Windows and Linux and work pretty much the same way in both.

Choose a candidate k value to test from the Sierpinski or Riesel reservations threads by posting a message there. For this example I will choose k=2822 from the Sierpinski thread. (If you don't have any special preference then choose one from the Sierpinski thread). For the Sierpinski k we need to find a prime of the form k*5^n+1, and for the Riesel k we need one of the form k*5^n-1. Any prime will do.

Note the value in the 'min. n untested' column for your k, in this case nmin=54000.

Sieving. Decide the largest value of n you are prepared to test for this candidate, call it nmax. If this is your first time then you will have to guess, but for this example nmax=200000 would be reasonable I think. Start newpgen and select these options from the menu:

create a new file: yes
output file name: 2822.out (this can be anything you like)
base: 5
sieve type: k*b^n+1 with k fixed (type 16)
k: 2822
nmin: 54000
nmax: 200000

For a Riesel candidate the only difference is the sieve type, use k*b^n-1 with k fixed (type 17) instead.

Start sieving. How long to sieve? I am still learning by trial and error, but in any case it is never worth continuing to sieve once the rate at which candidates are being removed is greater than the time it takes to PRP test the largest candidate, and it is probably worth stopping well before that point. Of course you don't know how long a PRP test takes until you try it :-).

Stop sieving. The output file will contain a list of candidates for PRP testing.

Start prp (or prp3 for SSE2 capable machines), in Linux use the -m command line option. Choose the 'Input data' menu item and enter the name of the newpgen file as the input file, choose a file name (e.g. prp.out) for the output file, and set the line number to 1.

Start prp testing. If a probable prime is found it will say so in the results.txt file and on screen, and a line will be written to the prp.out file. You can either do a primality test yourself using software like pfgw or proth.exe, or you can just report the probable prime and someone else will check it.

If you don't find a probable prime, then report how far you tested (the n value) so the next person doesn't repeat any work.

If you want to continue sieving deeper after prp testing part of the file, just remove the lines that were tested with a text editor and then use the 'continue sieving an old file' option in NewPGen. When starting prp testing again, go into the input data menu and reset the line number to 1. (or delete the prp.ini and start again).

If anyone else has links to other software, then please post them here, I will try to write up a proper introduction message eventually. Also if anyone has advice on how to choose how far to sieve that would be useful.

Good luck. Any problems, just post here.

 rogue 2005-03-06 13:10

I prefer WinPFGW to PRP/LLR. I know it is slightly slower (a couple %), but the GUI is more intuitive than PRP/LLR and the output is not as verbose, meaning that all you need to do is maximize the application from the tool bar and you immediately see if a prime was found. I think (but I haven't d/l'd the recent release) that the toolbartext for the WinPFGW will show you the number of primes found since it started so you don't even have to maximize the application.

 geoff 2005-03-07 02:35

It is also possible to use [url=http://groups.yahoo.com/group/primeform/]pfgw[/url] to test a small range without sieving first, but just trial factoring each candidate before the PRP test. Reserve your exponent as before, say k=2822 with nmin=54000 from the Sierpinski thread, then create this file (called 2822.txt say) with a text editor
[code]
ABC2 2822*5^\$a+1
a: from 54000 to 55000
[/code]
Then run pfgw with the command line 'pfgw -f 2822.txt'. That is it. If there are any probable primes in the range 54000 to 55000 then they will be written to the file pfgw.log.

For small ranges this is fine, but for large ranges sieving is much more efficient. pfgw speed for testing these numbers depends on which version you use for which hardware. For SSE2 machines I think you will need a quite recent version to get anywhere near the prp3 speeds.

 jasong 2005-03-07 22:28

I'm not sure what I did wrong, but I love experimenting.

For some reason, it wants to make a file for every single n. It offers Kmin and kmax values, but only one slot for n.

I like to keep my computer busy(right now it's Riesel Sieving) so I'll have it do EON if I don't get a response by about 7pm. Not giving up, just like to use EVERY SINGLE CYCLE.

EDIt: Never mind I figured it out. :banana:

 jasong 2005-03-08 18:17

Guys, I simply can't figure out what I'm doing wrong. NewPGen works like a champ, it's at 2min22seconds per factor right now. PRP is a different story.

I switched off NewPGen and transferred a copy of the generated file over to the PRP directory. The input file is 74362.3rd and the output file, in the same directory is 74362.out . I start it up and *BAM* I get a window asking me if I want to send an error report to Microsoft. Normally, I just try again and whatever I'm doing works. In this case, every time I actually give it something to process it generates an error. Here's some info I saw at the top of the screen(Why Microsoft takes away the ability to copy and paste this information is something I really, REALLY want to know):

Code: 0x0000005 Flags: 0x00000000 Record: 0x0000000000000000

 jasong 2005-03-08 19:14

Typical beginner mistake, I used prp3 instead of prp, that's the reason for the crash. Sorry.

 jasong 2005-03-08 22:12

I'm pretty sure with llr-ing a 50% increase in n means doubling of the time the test takes. Is it similar with prp?

 geoff 2005-03-08 22:51

[QUOTE=jasong]I'm pretty sure with llr-ing a 50% increase in n means doubling of the time the test takes. Is it similar with prp?[/QUOTE]

For base 2 numbers I think LLR and PRP are about the same in principle, but base 5 numbers take longer to test than base 2 numbers of the same size.

 jasong 2005-03-14 02:14

What's a good way to figure out what the average prp time for a range of k is? I have a feeling the increase in time is steeper for base-5 than base-2, but I don't know the math.

Would someone please come up with an equation? Preferably one where you can input minimum and maximum n.

 geoff 2005-03-14 04:03

I don't know much about FFT multiplication so someone please correct me if this is wrong. Assuming the underlying multiplication is of the same order of complexity for base 5 as for base 2 then the time to prp a base 5 number should just be a constant multiple of the time to prp a base 2 number of the same size.

(By same size I mean one with the same number of digits. b[sup]n[/sup] has about n*log(b)/log(10) decimal digits.)

If we gan get a few times for some base 2 and base 5 numbers of the same size then we can work out the multiple.

 All times are UTC. The time now is 04:24.