PrimeGrid
Please visit donation page to help the project cover running costs for this month

Toggle Menu

Join PrimeGrid

Returning Participants

Community

Leader Boards

Results

Other

drummers-lowrise

Advanced search

Message boards : Number crunching : GPU factoring program

Author Message
Christopher Siegert
Send message
Joined: 5 Jul 09
Posts: 233
ID: 42986
Credit: 121,873,589
RAC: 0
321 LLR Amethyst: Earned 1,000,000 credits (1,041,657)Cullen LLR Amethyst: Earned 1,000,000 credits (1,366,558)PPS LLR Sapphire: Earned 20,000,000 credits (22,481,912)PSP LLR Amethyst: Earned 1,000,000 credits (1,521,444)SoB LLR Amethyst: Earned 1,000,000 credits (1,751,070)SR5 LLR Amethyst: Earned 1,000,000 credits (1,100,031)SGS LLR Amethyst: Earned 1,000,000 credits (1,014,953)TRP LLR Ruby: Earned 2,000,000 credits (3,647,371)Woodall LLR Amethyst: Earned 1,000,000 credits (1,479,507)Cullen/Woodall Sieve Bronze: Earned 10,000 credits (41,181)PPS Sieve Emerald: Earned 50,000,000 credits (74,260,244)TRP Sieve (suspended) Silver: Earned 100,000 credits (206,682)GFN Jade: Earned 10,000,000 credits (11,960,980)
Message 71900 - Posted: 5 Jan 2014 | 14:58:56 UTC

Is there a CUDA program for sieving a wide range of Proth numbers?

k*2^N+1 where 10,000<k<10,000,000 and N>10,000

Or even a CPU program?

NewPGen isn't very useful for a wide range of both N and k simultaneously.

At this point, any CUDA program for sieving Proth numbers would be appreciated.

I'm looking to do some independent testing of various ranges.

Michael MillerickProject donor
Volunteer tester
Send message
Joined: 4 Feb 09
Posts: 939
ID: 35074
Credit: 958,535,111
RAC: 1,487,759
Discovered 3 mega primesEliminated 1 conjecture "k"Found 3 primes in the 2020 Tour de PrimesFound 2 primes in the 2021 Tour de PrimesFound 7 primes in the 2023 Tour de PrimesFound 1 mega prime in the 2023 Tour de Primes321 LLR Turquoise: Earned 5,000,000 credits (5,068,130)Cullen LLR Turquoise: Earned 5,000,000 credits (5,579,447)ESP LLR Sapphire: Earned 20,000,000 credits (20,186,009)Generalized Cullen/Woodall LLR Emerald: Earned 50,000,000 credits (86,604,096)PPS LLR Sapphire: Earned 20,000,000 credits (35,787,693)PSP LLR Turquoise: Earned 5,000,000 credits (6,047,646)SoB LLR Turquoise: Earned 5,000,000 credits (5,787,781)SR5 LLR Emerald: Earned 50,000,000 credits (55,441,081)SGS LLR Turquoise: Earned 5,000,000 credits (5,117,542)TRP LLR Turquoise: Earned 5,000,000 credits (5,314,541)Woodall LLR Turquoise: Earned 5,000,000 credits (5,529,510)321 Sieve (suspended) Turquoise: Earned 5,000,000 credits (5,440,175)Cullen/Woodall Sieve Emerald: Earned 50,000,000 credits (53,033,173)Generalized Cullen/Woodall Sieve (suspended) Ruby: Earned 2,000,000 credits (2,077,092)PPS Sieve Emerald: Earned 50,000,000 credits (50,200,870)Sierpinski (ESP/PSP/SoB) Sieve (suspended) Amethyst: Earned 1,000,000 credits (1,034,014)TRP Sieve (suspended) Ruby: Earned 2,000,000 credits (2,070,774)AP 26/27 Emerald: Earned 50,000,000 credits (50,449,372)GFN Double Silver: Earned 200,000,000 credits (254,907,803)WW (retired) Double Silver: Earned 200,000,000 credits (250,000,000)PSA Emerald: Earned 50,000,000 credits (52,866,806)
Message 71903 - Posted: 5 Jan 2014 | 16:59:30 UTC

You should be able to use tpsieve-cuda to accomplish what you want. I am not sure how it performs on large k ranges, but I do know that you are able to set the upper and lower k limits at runtime. You can find the executables on the Prime Search Team forums.
____________

Christopher Siegert
Send message
Joined: 5 Jul 09
Posts: 233
ID: 42986
Credit: 121,873,589
RAC: 0
321 LLR Amethyst: Earned 1,000,000 credits (1,041,657)Cullen LLR Amethyst: Earned 1,000,000 credits (1,366,558)PPS LLR Sapphire: Earned 20,000,000 credits (22,481,912)PSP LLR Amethyst: Earned 1,000,000 credits (1,521,444)SoB LLR Amethyst: Earned 1,000,000 credits (1,751,070)SR5 LLR Amethyst: Earned 1,000,000 credits (1,100,031)SGS LLR Amethyst: Earned 1,000,000 credits (1,014,953)TRP LLR Ruby: Earned 2,000,000 credits (3,647,371)Woodall LLR Amethyst: Earned 1,000,000 credits (1,479,507)Cullen/Woodall Sieve Bronze: Earned 10,000 credits (41,181)PPS Sieve Emerald: Earned 50,000,000 credits (74,260,244)TRP Sieve (suspended) Silver: Earned 100,000 credits (206,682)GFN Jade: Earned 10,000,000 credits (11,960,980)
Message 71911 - Posted: 5 Jan 2014 | 21:53:38 UTC

tpsieve-cuda is for twin prime searches.

I tried the ppsieve-cuda, and it wouldn't run, claiming I was missing some type of driver file.

LLR and PFGW are great programs for testing primality, but there don't seem to be any great sieving programs out there. NewPGen has the best GUI, but it's relatively slow, and its author no longer develops it.

Profile Crun-chiProject donor
Volunteer tester
Avatar
Send message
Joined: 25 Nov 09
Posts: 3235
ID: 50683
Credit: 151,728,006
RAC: 5,541
Discovered 2 mega primesEliminated 1 conjecture "k"Found 1 prime in the 2018 Tour de PrimesFound 1 prime in the 2019 Tour de PrimesFound 1 prime in the 2020 Tour de PrimesFound 1 prime in the 2021 Tour de PrimesFound 1 prime in the 2022 Tour de PrimesFound 2 primes in the 2023 Tour de Primes321 LLR Silver: Earned 100,000 credits (229,492)Cullen LLR Silver: Earned 100,000 credits (110,733)PPS LLR Sapphire: Earned 20,000,000 credits (25,997,810)PSP LLR Ruby: Earned 2,000,000 credits (2,838,382)SoB LLR Silver: Earned 100,000 credits (106,117)SR5 LLR Amethyst: Earned 1,000,000 credits (1,240,750)SGS LLR Amethyst: Earned 1,000,000 credits (1,328,241)TRP LLR Gold: Earned 500,000 credits (626,755)Woodall LLR Silver: Earned 100,000 credits (122,944)321 Sieve (suspended) Silver: Earned 100,000 credits (104,900)Cullen/Woodall Sieve Turquoise: Earned 5,000,000 credits (5,129,666)Generalized Cullen/Woodall Sieve (suspended) Gold: Earned 500,000 credits (515,556)PPS Sieve Jade: Earned 10,000,000 credits (11,935,566)TRP Sieve (suspended) Silver: Earned 100,000 credits (255,612)AP 26/27 Turquoise: Earned 5,000,000 credits (5,612,167)GFN Emerald: Earned 50,000,000 credits (86,963,206)WW (retired) Amethyst: Earned 1,000,000 credits (1,088,000)PSA Turquoise: Earned 5,000,000 credits (7,522,050)
Message 71912 - Posted: 5 Jan 2014 | 22:43:08 UTC - in response to Message 71911.
Last modified: 5 Jan 2014 | 22:46:50 UTC

Sr1sieve and sr2sieve are programs you looking for. Both are faster then NewPgen, but NewPgen can do some type of sieve that sr1ieve and sr2sieve cannot do. But since you dont need those types... look for sr1sieve and sr2sieve ( I use it , there is no gui but it has light syntax to run.
They exist for 64 bit OS ( Linux and Win), and there is chance that AVX is used in sieving process , ( speed up about 25%), but there is no exe with AVX support now.
____________
92*10^1585996-1 NEAR-REPDIGIT PRIME :) :) :)
4 * 650^498101-1 CRUS PRIME
2022202116^131072+1 GENERALIZED FERMAT
Proud member of team Aggie The Pew. Go Aggie!

Ken_g6Project donor
Volunteer developer
Avatar
Send message
Joined: 4 Jul 06
Posts: 940
ID: 3110
Credit: 262,463,562
RAC: 15,728
Discovered 2 mega primesFound 2 primes in the 2018 Tour de PrimesFound 1 prime in the 2019 Tour de PrimesFound 1 prime in the 2020 Tour de PrimesFound 1 prime in the 2021 Tour de PrimesFound 3 primes in the 2022 Tour de PrimesFound 1 prime in the 2023 Tour de Primes321 LLR Ruby: Earned 2,000,000 credits (2,685,202)Cullen LLR Ruby: Earned 2,000,000 credits (2,591,847)ESP LLR Amethyst: Earned 1,000,000 credits (1,657,625)Generalized Cullen/Woodall LLR Amethyst: Earned 1,000,000 credits (1,251,083)PPS LLR Sapphire: Earned 20,000,000 credits (34,777,138)PSP LLR Turquoise: Earned 5,000,000 credits (6,070,653)SoB LLR Turquoise: Earned 5,000,000 credits (5,923,035)SR5 LLR Ruby: Earned 2,000,000 credits (2,603,308)SGS LLR Ruby: Earned 2,000,000 credits (2,260,651)TPS LLR (retired) Bronze: Earned 10,000 credits (19,376)TRP LLR Ruby: Earned 2,000,000 credits (3,398,689)Woodall LLR Ruby: Earned 2,000,000 credits (2,732,873)321 Sieve (suspended) Ruby: Earned 2,000,000 credits (2,915,071)Cullen/Woodall Sieve Turquoise: Earned 5,000,000 credits (8,584,236)Generalized Cullen/Woodall Sieve (suspended) Ruby: Earned 2,000,000 credits (2,461,309)PPS Sieve Emerald: Earned 50,000,000 credits (97,322,801)Sierpinski (ESP/PSP/SoB) Sieve (suspended) Silver: Earned 100,000 credits (352,129)TRP Sieve (suspended) Gold: Earned 500,000 credits (776,202)AP 26/27 Turquoise: Earned 5,000,000 credits (7,318,658)GFN Emerald: Earned 50,000,000 credits (52,562,791)WW (retired) Sapphire: Earned 20,000,000 credits (20,044,000)PSA Ruby: Earned 2,000,000 credits (4,154,617)
Message 71915 - Posted: 6 Jan 2014 | 0:30:13 UTC - in response to Message 71911.

I tried the ppsieve-cuda, and it wouldn't run, claiming I was missing some type of driver file.

What was the message exactly? ppsieve-cuda is probably the best program for what you want.
____________

Christopher Siegert
Send message
Joined: 5 Jul 09
Posts: 233
ID: 42986
Credit: 121,873,589
RAC: 0
321 LLR Amethyst: Earned 1,000,000 credits (1,041,657)Cullen LLR Amethyst: Earned 1,000,000 credits (1,366,558)PPS LLR Sapphire: Earned 20,000,000 credits (22,481,912)PSP LLR Amethyst: Earned 1,000,000 credits (1,521,444)SoB LLR Amethyst: Earned 1,000,000 credits (1,751,070)SR5 LLR Amethyst: Earned 1,000,000 credits (1,100,031)SGS LLR Amethyst: Earned 1,000,000 credits (1,014,953)TRP LLR Ruby: Earned 2,000,000 credits (3,647,371)Woodall LLR Amethyst: Earned 1,000,000 credits (1,479,507)Cullen/Woodall Sieve Bronze: Earned 10,000 credits (41,181)PPS Sieve Emerald: Earned 50,000,000 credits (74,260,244)TRP Sieve (suspended) Silver: Earned 100,000 credits (206,682)GFN Jade: Earned 10,000,000 credits (11,960,980)
Message 71920 - Posted: 6 Jan 2014 | 3:53:14 UTC

The title of the pop-up window is "ppsieve-cuda-x86-windows.exe - Unable To Locate Component".

The message:

"This application has failed to start because cudart.dll was not found. Re-installing the application may fix this problem."

Christopher Siegert
Send message
Joined: 5 Jul 09
Posts: 233
ID: 42986
Credit: 121,873,589
RAC: 0
321 LLR Amethyst: Earned 1,000,000 credits (1,041,657)Cullen LLR Amethyst: Earned 1,000,000 credits (1,366,558)PPS LLR Sapphire: Earned 20,000,000 credits (22,481,912)PSP LLR Amethyst: Earned 1,000,000 credits (1,521,444)SoB LLR Amethyst: Earned 1,000,000 credits (1,751,070)SR5 LLR Amethyst: Earned 1,000,000 credits (1,100,031)SGS LLR Amethyst: Earned 1,000,000 credits (1,014,953)TRP LLR Ruby: Earned 2,000,000 credits (3,647,371)Woodall LLR Amethyst: Earned 1,000,000 credits (1,479,507)Cullen/Woodall Sieve Bronze: Earned 10,000 credits (41,181)PPS Sieve Emerald: Earned 50,000,000 credits (74,260,244)TRP Sieve (suspended) Silver: Earned 100,000 credits (206,682)GFN Jade: Earned 10,000,000 credits (11,960,980)
Message 71921 - Posted: 6 Jan 2014 | 4:10:10 UTC

I downloaded a cudart.dll and placed it in the same directory as the PPSieve-CUDA.exe file.

In command prompt, I am able to run it. Apparently, I now need to figure out how to create a valid input file for the program to operate on!

Does anyone know how to create such a file?

Christopher Siegert
Send message
Joined: 5 Jul 09
Posts: 233
ID: 42986
Credit: 121,873,589
RAC: 0
321 LLR Amethyst: Earned 1,000,000 credits (1,041,657)Cullen LLR Amethyst: Earned 1,000,000 credits (1,366,558)PPS LLR Sapphire: Earned 20,000,000 credits (22,481,912)PSP LLR Amethyst: Earned 1,000,000 credits (1,521,444)SoB LLR Amethyst: Earned 1,000,000 credits (1,751,070)SR5 LLR Amethyst: Earned 1,000,000 credits (1,100,031)SGS LLR Amethyst: Earned 1,000,000 credits (1,014,953)TRP LLR Ruby: Earned 2,000,000 credits (3,647,371)Woodall LLR Amethyst: Earned 1,000,000 credits (1,479,507)Cullen/Woodall Sieve Bronze: Earned 10,000 credits (41,181)PPS Sieve Emerald: Earned 50,000,000 credits (74,260,244)TRP Sieve (suspended) Silver: Earned 100,000 credits (206,682)GFN Jade: Earned 10,000,000 credits (11,960,980)
Message 71922 - Posted: 6 Jan 2014 | 4:50:31 UTC

OK. I've nearly got this program running, but does it require a large range of both N and k? I tried an input file with a large range of K on N=65000, and it says nmax is close to nmin as an error.

It says: "Error: pmin is not large enough (or nmax is close to nmin)."

The pmin is 1T, so I'm not sure why that would be the problem...

I also tried creating a file from scratch using
-k100001
-K999999
-n65000
-N65010

I used a pmin of 3, but then it demanded that pmin be greater than the k values.

Are you supposed to use some other program to weed out the very small factors?

Christopher Siegert
Send message
Joined: 5 Jul 09
Posts: 233
ID: 42986
Credit: 121,873,589
RAC: 0
321 LLR Amethyst: Earned 1,000,000 credits (1,041,657)Cullen LLR Amethyst: Earned 1,000,000 credits (1,366,558)PPS LLR Sapphire: Earned 20,000,000 credits (22,481,912)PSP LLR Amethyst: Earned 1,000,000 credits (1,521,444)SoB LLR Amethyst: Earned 1,000,000 credits (1,751,070)SR5 LLR Amethyst: Earned 1,000,000 credits (1,100,031)SGS LLR Amethyst: Earned 1,000,000 credits (1,014,953)TRP LLR Ruby: Earned 2,000,000 credits (3,647,371)Woodall LLR Amethyst: Earned 1,000,000 credits (1,479,507)Cullen/Woodall Sieve Bronze: Earned 10,000 credits (41,181)PPS Sieve Emerald: Earned 50,000,000 credits (74,260,244)TRP Sieve (suspended) Silver: Earned 100,000 credits (206,682)GFN Jade: Earned 10,000,000 credits (11,960,980)
Message 71923 - Posted: 6 Jan 2014 | 6:22:01 UTC

I was able to run the program using k=10001, with 1000<n<1500000

I started the p value at 1T, and it found one factor after about a minute.

The program doesn't remove that particular n value from the input file! It just lists the factors in a separate file. What good is that?! If I find hundreds or thousands of factors, how is the user supposed to remove those numbers before LLR testing?

The GUI and ease of use of these factoring programs could certainly use some improvement.

Michael MillerickProject donor
Volunteer tester
Send message
Joined: 4 Feb 09
Posts: 939
ID: 35074
Credit: 958,535,111
RAC: 1,487,759
Discovered 3 mega primesEliminated 1 conjecture "k"Found 3 primes in the 2020 Tour de PrimesFound 2 primes in the 2021 Tour de PrimesFound 7 primes in the 2023 Tour de PrimesFound 1 mega prime in the 2023 Tour de Primes321 LLR Turquoise: Earned 5,000,000 credits (5,068,130)Cullen LLR Turquoise: Earned 5,000,000 credits (5,579,447)ESP LLR Sapphire: Earned 20,000,000 credits (20,186,009)Generalized Cullen/Woodall LLR Emerald: Earned 50,000,000 credits (86,604,096)PPS LLR Sapphire: Earned 20,000,000 credits (35,787,693)PSP LLR Turquoise: Earned 5,000,000 credits (6,047,646)SoB LLR Turquoise: Earned 5,000,000 credits (5,787,781)SR5 LLR Emerald: Earned 50,000,000 credits (55,441,081)SGS LLR Turquoise: Earned 5,000,000 credits (5,117,542)TRP LLR Turquoise: Earned 5,000,000 credits (5,314,541)Woodall LLR Turquoise: Earned 5,000,000 credits (5,529,510)321 Sieve (suspended) Turquoise: Earned 5,000,000 credits (5,440,175)Cullen/Woodall Sieve Emerald: Earned 50,000,000 credits (53,033,173)Generalized Cullen/Woodall Sieve (suspended) Ruby: Earned 2,000,000 credits (2,077,092)PPS Sieve Emerald: Earned 50,000,000 credits (50,200,870)Sierpinski (ESP/PSP/SoB) Sieve (suspended) Amethyst: Earned 1,000,000 credits (1,034,014)TRP Sieve (suspended) Ruby: Earned 2,000,000 credits (2,070,774)AP 26/27 Emerald: Earned 50,000,000 credits (50,449,372)GFN Double Silver: Earned 200,000,000 credits (254,907,803)WW (retired) Double Silver: Earned 200,000,000 credits (250,000,000)PSA Emerald: Earned 50,000,000 credits (52,866,806)
Message 71926 - Posted: 6 Jan 2014 | 9:16:03 UTC - in response to Message 71923.

The program doesn't remove that particular n value from the input file! It just lists the factors in a separate file. What good is that?! If I find hundreds or thousands of factors, how is the user supposed to remove those numbers before LLR testing?

The programs are intended to be used by multiple end-users to sieve, while only one user is maintaining the master list of candidates. I believe that is the reason why composite numbers found during factoring are not removed from the input file. Also if memory serves me correctly, ppsieve-cuda is a datless sieve (meaning there is no input file to begin with).

You should be able to write another script that can keep track of which candidates have been eliminated using the sieve, which candidates you have tested, and which candidates you still need to test. I imagine it would be easiest to store all of these data in some sort of relational database like MySQL.
____________

Christopher Siegert
Send message
Joined: 5 Jul 09
Posts: 233
ID: 42986
Credit: 121,873,589
RAC: 0
321 LLR Amethyst: Earned 1,000,000 credits (1,041,657)Cullen LLR Amethyst: Earned 1,000,000 credits (1,366,558)PPS LLR Sapphire: Earned 20,000,000 credits (22,481,912)PSP LLR Amethyst: Earned 1,000,000 credits (1,521,444)SoB LLR Amethyst: Earned 1,000,000 credits (1,751,070)SR5 LLR Amethyst: Earned 1,000,000 credits (1,100,031)SGS LLR Amethyst: Earned 1,000,000 credits (1,014,953)TRP LLR Ruby: Earned 2,000,000 credits (3,647,371)Woodall LLR Amethyst: Earned 1,000,000 credits (1,479,507)Cullen/Woodall Sieve Bronze: Earned 10,000 credits (41,181)PPS Sieve Emerald: Earned 50,000,000 credits (74,260,244)TRP Sieve (suspended) Silver: Earned 100,000 credits (206,682)GFN Jade: Earned 10,000,000 credits (11,960,980)
Message 71929 - Posted: 6 Jan 2014 | 11:20:36 UTC

You can use an input file for ppsieve-cuda.

In general, it seems to give this error rather easily:

"Error: pmin is not large enough (or nmax is close to nmin)."

I'm not clear as to what pmin is supposed to be or how nmax and nmin are to relate to one another. The README file doesn't go into much detail.

I suppose I could write a C++ program that subtracts the composites from the original input file after ppsieve is finished running. It wouldn't be difficult.

Still, I'm confused as to why the developers of these programs don't make them easier to use. NewPGen has a simple, yet nice GUI.

Ken_g6Project donor
Volunteer developer
Avatar
Send message
Joined: 4 Jul 06
Posts: 940
ID: 3110
Credit: 262,463,562
RAC: 15,728
Discovered 2 mega primesFound 2 primes in the 2018 Tour de PrimesFound 1 prime in the 2019 Tour de PrimesFound 1 prime in the 2020 Tour de PrimesFound 1 prime in the 2021 Tour de PrimesFound 3 primes in the 2022 Tour de PrimesFound 1 prime in the 2023 Tour de Primes321 LLR Ruby: Earned 2,000,000 credits (2,685,202)Cullen LLR Ruby: Earned 2,000,000 credits (2,591,847)ESP LLR Amethyst: Earned 1,000,000 credits (1,657,625)Generalized Cullen/Woodall LLR Amethyst: Earned 1,000,000 credits (1,251,083)PPS LLR Sapphire: Earned 20,000,000 credits (34,777,138)PSP LLR Turquoise: Earned 5,000,000 credits (6,070,653)SoB LLR Turquoise: Earned 5,000,000 credits (5,923,035)SR5 LLR Ruby: Earned 2,000,000 credits (2,603,308)SGS LLR Ruby: Earned 2,000,000 credits (2,260,651)TPS LLR (retired) Bronze: Earned 10,000 credits (19,376)TRP LLR Ruby: Earned 2,000,000 credits (3,398,689)Woodall LLR Ruby: Earned 2,000,000 credits (2,732,873)321 Sieve (suspended) Ruby: Earned 2,000,000 credits (2,915,071)Cullen/Woodall Sieve Turquoise: Earned 5,000,000 credits (8,584,236)Generalized Cullen/Woodall Sieve (suspended) Ruby: Earned 2,000,000 credits (2,461,309)PPS Sieve Emerald: Earned 50,000,000 credits (97,322,801)Sierpinski (ESP/PSP/SoB) Sieve (suspended) Silver: Earned 100,000 credits (352,129)TRP Sieve (suspended) Gold: Earned 500,000 credits (776,202)AP 26/27 Turquoise: Earned 5,000,000 credits (7,318,658)GFN Emerald: Earned 50,000,000 credits (52,562,791)WW (retired) Sapphire: Earned 20,000,000 credits (20,044,000)PSA Ruby: Earned 2,000,000 credits (4,154,617)
Message 71930 - Posted: 6 Jan 2014 | 15:04:44 UTC - in response to Message 71929.

You can use an input file for ppsieve-cuda.

In general, it seems to give this error rather easily:

"Error: pmin is not large enough (or nmax is close to nmin)."

I'm not clear as to what pmin is supposed to be or how nmax and nmin are to relate to one another. The README file doesn't go into much detail.

pmin is the -p value. nmin is -n, and nmax is -N. In the above case, -N was close to -n. Though I don't remember right now why that matters.

I suppose I could write a C++ program that subtracts the composites from the original input file after ppsieve is finished running. It wouldn't be difficult.

I think there is one someplace. Not written by me.

Still, I'm confused as to why the developers of these programs don't make them easier to use. NewPGen has a simple, yet nice GUI.

First, this was made to work with BOINC more than to be used manually. Second, the math that makes this fast has a lot of corner cases where it doesn't work. The error messages are there so you don't hit the corner cases. And, third, I'm not good at GUIs. The only languages I've made GUIs in are Visual Basic 3.0, Java, and HTML. Note the complete lack of any C language here.
____________

Christopher Siegert
Send message
Joined: 5 Jul 09
Posts: 233
ID: 42986
Credit: 121,873,589
RAC: 0
321 LLR Amethyst: Earned 1,000,000 credits (1,041,657)Cullen LLR Amethyst: Earned 1,000,000 credits (1,366,558)PPS LLR Sapphire: Earned 20,000,000 credits (22,481,912)PSP LLR Amethyst: Earned 1,000,000 credits (1,521,444)SoB LLR Amethyst: Earned 1,000,000 credits (1,751,070)SR5 LLR Amethyst: Earned 1,000,000 credits (1,100,031)SGS LLR Amethyst: Earned 1,000,000 credits (1,014,953)TRP LLR Ruby: Earned 2,000,000 credits (3,647,371)Woodall LLR Amethyst: Earned 1,000,000 credits (1,479,507)Cullen/Woodall Sieve Bronze: Earned 10,000 credits (41,181)PPS Sieve Emerald: Earned 50,000,000 credits (74,260,244)TRP Sieve (suspended) Silver: Earned 100,000 credits (206,682)GFN Jade: Earned 10,000,000 credits (11,960,980)
Message 71931 - Posted: 6 Jan 2014 | 15:46:47 UTC

The program works for p=1T and P=10T, but when I try to use smaller p values, it fails. What exactly were these "corner" cases?

ppsieve-cuda-x86-windows.exe -p100G -P1T -iinput.txt -r10 -z normal
ppsieve version cuda-0.2.3b (testing)
Found K's from 10001 to 10001.
Found N's from 1071 to 1499960.
nstart=1071, nstep=24
Read 58400 terms from NewPGen format input file `input.txt'
Error: pmin is not large enough (or nmax is close to nmin).

Christopher Siegert
Send message
Joined: 5 Jul 09
Posts: 233
ID: 42986
Credit: 121,873,589
RAC: 0
321 LLR Amethyst: Earned 1,000,000 credits (1,041,657)Cullen LLR Amethyst: Earned 1,000,000 credits (1,366,558)PPS LLR Sapphire: Earned 20,000,000 credits (22,481,912)PSP LLR Amethyst: Earned 1,000,000 credits (1,521,444)SoB LLR Amethyst: Earned 1,000,000 credits (1,751,070)SR5 LLR Amethyst: Earned 1,000,000 credits (1,100,031)SGS LLR Amethyst: Earned 1,000,000 credits (1,014,953)TRP LLR Ruby: Earned 2,000,000 credits (3,647,371)Woodall LLR Amethyst: Earned 1,000,000 credits (1,479,507)Cullen/Woodall Sieve Bronze: Earned 10,000 credits (41,181)PPS Sieve Emerald: Earned 50,000,000 credits (74,260,244)TRP Sieve (suspended) Silver: Earned 100,000 credits (206,682)GFN Jade: Earned 10,000,000 credits (11,960,980)
Message 71932 - Posted: 6 Jan 2014 | 16:02:12 UTC
Last modified: 6 Jan 2014 | 16:05:20 UTC

Based on trial and error, the lowest value I can give pmin is 336G.
335G outputs that error message.

It would take a long time for NewPGen to sieve up to 336G.

JimBProject donor
Honorary cruncher
Send message
Joined: 4 Aug 11
Posts: 920
ID: 107307
Credit: 989,270,184
RAC: 7,595
Discovered 1 mega prime321 LLR Turquoise: Earned 5,000,000 credits (5,009,915)Cullen LLR Turquoise: Earned 5,000,000 credits (5,031,868)ESP LLR Turquoise: Earned 5,000,000 credits (5,064,082)Generalized Cullen/Woodall LLR Turquoise: Earned 5,000,000 credits (5,038,750)PPS LLR Turquoise: Earned 5,000,000 credits (5,000,461)PSP LLR Turquoise: Earned 5,000,000 credits (7,674,374)SoB LLR Sapphire: Earned 20,000,000 credits (42,604,648)SR5 LLR Jade: Earned 10,000,000 credits (11,829,173)SGS LLR Ruby: Earned 2,000,000 credits (2,851,612)TRP LLR Ruby: Earned 2,000,000 credits (4,400,010)Woodall LLR Turquoise: Earned 5,000,000 credits (5,046,412)321 Sieve (suspended) Jade: Earned 10,000,000 credits (10,057,614)Cullen/Woodall Sieve Jade: Earned 10,000,000 credits (11,209,718)Generalized Cullen/Woodall Sieve (suspended) Sapphire: Earned 20,000,000 credits (20,005,451)PPS Sieve Emerald: Earned 50,000,000 credits (52,049,707)Sierpinski (ESP/PSP/SoB) Sieve (suspended) Ruby: Earned 2,000,000 credits (2,341,676)TRP Sieve (suspended) Ruby: Earned 2,000,000 credits (2,070,804)AP 26/27 Jade: Earned 10,000,000 credits (10,742,251)GFN Emerald: Earned 50,000,000 credits (50,005,964)WW (retired) Ruby: Earned 2,000,000 credits (2,688,000)PSA Double Gold: Earned 500,000,000 credits (728,547,693)
Message 71945 - Posted: 7 Jan 2014 | 4:09:19 UTC - in response to Message 71929.

I suppose I could write a C++ program that subtracts the composites from the original input file after ppsieve is finished running. It wouldn't be difficult.

No need to write one, use the srfile program. You can find the program in srsieve-0.6.17-bin.zip on this page.

Ken_g6Project donor
Volunteer developer
Avatar
Send message
Joined: 4 Jul 06
Posts: 940
ID: 3110
Credit: 262,463,562
RAC: 15,728
Discovered 2 mega primesFound 2 primes in the 2018 Tour de PrimesFound 1 prime in the 2019 Tour de PrimesFound 1 prime in the 2020 Tour de PrimesFound 1 prime in the 2021 Tour de PrimesFound 3 primes in the 2022 Tour de PrimesFound 1 prime in the 2023 Tour de Primes321 LLR Ruby: Earned 2,000,000 credits (2,685,202)Cullen LLR Ruby: Earned 2,000,000 credits (2,591,847)ESP LLR Amethyst: Earned 1,000,000 credits (1,657,625)Generalized Cullen/Woodall LLR Amethyst: Earned 1,000,000 credits (1,251,083)PPS LLR Sapphire: Earned 20,000,000 credits (34,777,138)PSP LLR Turquoise: Earned 5,000,000 credits (6,070,653)SoB LLR Turquoise: Earned 5,000,000 credits (5,923,035)SR5 LLR Ruby: Earned 2,000,000 credits (2,603,308)SGS LLR Ruby: Earned 2,000,000 credits (2,260,651)TPS LLR (retired) Bronze: Earned 10,000 credits (19,376)TRP LLR Ruby: Earned 2,000,000 credits (3,398,689)Woodall LLR Ruby: Earned 2,000,000 credits (2,732,873)321 Sieve (suspended) Ruby: Earned 2,000,000 credits (2,915,071)Cullen/Woodall Sieve Turquoise: Earned 5,000,000 credits (8,584,236)Generalized Cullen/Woodall Sieve (suspended) Ruby: Earned 2,000,000 credits (2,461,309)PPS Sieve Emerald: Earned 50,000,000 credits (97,322,801)Sierpinski (ESP/PSP/SoB) Sieve (suspended) Silver: Earned 100,000 credits (352,129)TRP Sieve (suspended) Gold: Earned 500,000 credits (776,202)AP 26/27 Turquoise: Earned 5,000,000 credits (7,318,658)GFN Emerald: Earned 50,000,000 credits (52,562,791)WW (retired) Sapphire: Earned 20,000,000 credits (20,044,000)PSA Ruby: Earned 2,000,000 credits (4,154,617)
Message 71970 - Posted: 7 Jan 2014 | 20:11:37 UTC - in response to Message 71931.
Last modified: 7 Jan 2014 | 20:13:46 UTC

The program works for p=1T and P=10T, but when I try to use smaller p values, it fails. What exactly were these "corner" cases?

ppsieve-cuda-x86-windows.exe -p100G -P1T -iinput.txt -r10 -z normal
ppsieve version cuda-0.2.3b (testing)
Found K's from 10001 to 10001.
Found N's from 1071 to 1499960.
nstart=1071, nstep=24
Read 58400 terms from NewPGen format input file `input.txt'
Error: pmin is not large enough (or nmax is close to nmin).

That's going to be an extremely inefficient range. (Or maybe the input file isn't arranged as I expected it, so most of the K's weren't found?) There is currently no efficient GPU sieve for a single K, although Rogue and I were making progress toward one at one point.

Alas, I don't remember all of the corner cases. It's been a couple of years since I actively worked on this.

@JimB, thanks, that's probably the program I was thinking of.

Edit: If you want to split up your range, split it up by N's. But you don't want to go too low, or the system will be CPU-limited.
____________

Christopher Siegert
Send message
Joined: 5 Jul 09
Posts: 233
ID: 42986
Credit: 121,873,589
RAC: 0
321 LLR Amethyst: Earned 1,000,000 credits (1,041,657)Cullen LLR Amethyst: Earned 1,000,000 credits (1,366,558)PPS LLR Sapphire: Earned 20,000,000 credits (22,481,912)PSP LLR Amethyst: Earned 1,000,000 credits (1,521,444)SoB LLR Amethyst: Earned 1,000,000 credits (1,751,070)SR5 LLR Amethyst: Earned 1,000,000 credits (1,100,031)SGS LLR Amethyst: Earned 1,000,000 credits (1,014,953)TRP LLR Ruby: Earned 2,000,000 credits (3,647,371)Woodall LLR Amethyst: Earned 1,000,000 credits (1,479,507)Cullen/Woodall Sieve Bronze: Earned 10,000 credits (41,181)PPS Sieve Emerald: Earned 50,000,000 credits (74,260,244)TRP Sieve (suspended) Silver: Earned 100,000 credits (206,682)GFN Jade: Earned 10,000,000 credits (11,960,980)
Message 71979 - Posted: 7 Jan 2014 | 23:35:33 UTC

So the program is built for a wide range of k values all sharing one N value?

Ken_g6Project donor
Volunteer developer
Avatar
Send message
Joined: 4 Jul 06
Posts: 940
ID: 3110
Credit: 262,463,562
RAC: 15,728
Discovered 2 mega primesFound 2 primes in the 2018 Tour de PrimesFound 1 prime in the 2019 Tour de PrimesFound 1 prime in the 2020 Tour de PrimesFound 1 prime in the 2021 Tour de PrimesFound 3 primes in the 2022 Tour de PrimesFound 1 prime in the 2023 Tour de Primes321 LLR Ruby: Earned 2,000,000 credits (2,685,202)Cullen LLR Ruby: Earned 2,000,000 credits (2,591,847)ESP LLR Amethyst: Earned 1,000,000 credits (1,657,625)Generalized Cullen/Woodall LLR Amethyst: Earned 1,000,000 credits (1,251,083)PPS LLR Sapphire: Earned 20,000,000 credits (34,777,138)PSP LLR Turquoise: Earned 5,000,000 credits (6,070,653)SoB LLR Turquoise: Earned 5,000,000 credits (5,923,035)SR5 LLR Ruby: Earned 2,000,000 credits (2,603,308)SGS LLR Ruby: Earned 2,000,000 credits (2,260,651)TPS LLR (retired) Bronze: Earned 10,000 credits (19,376)TRP LLR Ruby: Earned 2,000,000 credits (3,398,689)Woodall LLR Ruby: Earned 2,000,000 credits (2,732,873)321 Sieve (suspended) Ruby: Earned 2,000,000 credits (2,915,071)Cullen/Woodall Sieve Turquoise: Earned 5,000,000 credits (8,584,236)Generalized Cullen/Woodall Sieve (suspended) Ruby: Earned 2,000,000 credits (2,461,309)PPS Sieve Emerald: Earned 50,000,000 credits (97,322,801)Sierpinski (ESP/PSP/SoB) Sieve (suspended) Silver: Earned 100,000 credits (352,129)TRP Sieve (suspended) Gold: Earned 500,000 credits (776,202)AP 26/27 Turquoise: Earned 5,000,000 credits (7,318,658)GFN Emerald: Earned 50,000,000 credits (52,562,791)WW (retired) Sapphire: Earned 20,000,000 credits (20,044,000)PSA Ruby: Earned 2,000,000 credits (4,154,617)
Message 72041 - Posted: 8 Jan 2014 | 17:34:22 UTC - in response to Message 71979.

So the program is built for a wide range of k values all sharing one N value?

That's how it started. Then I found that, when the highest k value is smaller than the current prime being tested against, it is possible to show that that prime will factor at most one K in a few adjacent N's. So the program skips a few N's at a time by multiplying. For CUDA, I was able to make some exceedingly fast code to multiply by 2^32 (or was it 2^-32). Anyway, CUDA won't jump more than 32 N's at a time because the code is faster that way.

You probably won't get to that fast 32N code, though. The amount that can be jumped is log2(P/Kmax). Your large Kmax will slow things down a little.

By the way, I should mention that the CPU version of ppsieve handles more "corner cases", so if you need to fill in the gap from wherever you are to wherever the CUDA code starts working, try that.
____________

Message boards : Number crunching : GPU factoring program

[Return to PrimeGrid main page]
DNS Powered by DNSEXIT.COM
Copyright © 2005 - 2023 Rytis Slatkevičius (contact) and PrimeGrid community. Server load 2.35, 2.19, 2.20
Generated 7 Jul 2023 | 13:40:44 UTC