mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Software

Reply
 
Thread Tools
Old 2019-08-18, 15:42   #188
pepi37
 
pepi37's Avatar
 
Dec 2011
After milion nines:)

53F16 Posts
Default

Quote:
Originally Posted by rogue View Post
If you use one of these commands: "make twinsieve", "make srsieve2", or
"make xyyxsieve", what happens?
make twinsieve works ok and produce twinsieve, and also xyyxsieve



make srsieve2


make srsieve2
make: *** No rule to make target 'sierpinksi_riesel/SierpinskiRieselApp.o', needed by 'srsieve2'. Stop.

Last fiddled with by pepi37 on 2019-08-18 at 16:21
pepi37 is online now   Reply With Quote
Old 2019-08-18, 17:21   #189
Dylan14
 
Dylan14's Avatar
 
"Dylan"
Mar 2017

51410 Posts
Default

Quote:
Originally Posted by Dylan14 View Post
Not sure if this is a bug or not, but I am trying to sieve the gap


Code:
n 4900-4999     7e8-10e8
in gfndsieve for someone to test for the FermatSearch. However, it seems that gfndsieve is having a bit of trouble with this range:

(some output involving term numbers not matching)

I figured the problem out. The sieve has to start as a single thread process and then after the initial sieve is done, then multiple threads can be used.
Dylan14 is online now   Reply With Quote
Old 2019-08-18, 19:55   #190
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2×11×269 Posts
Default

Quote:
Originally Posted by pepi37 View Post
make twinsieve works ok and produce twinsieve, and also xyyxsieve



make srsieve2


make srsieve2
make: *** No rule to make target 'sierpinksi_riesel/SierpinskiRieselApp.o', needed by 'srsieve2'. Stop.
Sorry, but that is due to a misspelling in the path. I correctly the misspelling of the folder name, but didn't save the change to the makefile. It should be "sierpinski_riesel" not "sierpinksi_riesel" in the makefile. Fix that and you should be able to build.
rogue is offline   Reply With Quote
Old 2019-08-18, 19:56   #191
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2·11·269 Posts
Default

Quote:
Originally Posted by Dylan14 View Post
I figured the problem out. The sieve has to start as a single thread process and then after the initial sieve is done, then multiple threads can be used.
A number of sieves, due to the high percentage of terms removed with the initial block of primes, only run a single thread for that block an in effort to avoid some of of the throttling that occurs when multiple threads try to access the same memory.

To get to multiple threads more quickly, use -w to specify smaller chunks of primes.
rogue is offline   Reply With Quote
Old 2019-08-29, 01:56   #192
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2×11×269 Posts
Default

I posted version 1.9.5 of the framework. The only change is that I fixed the factor rate calculation.
rogue is offline   Reply With Quote
Old 2019-08-29, 11:22   #193
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

10010100111102 Posts
Default

Quote:
Originally Posted by rogue View Post
I posted version 1.9.5 of the framework. The only change is that I fixed the factor rate calculation.
I ran make and found:

#include "CIsOneSubsequenceHelper.h" - the correct file name is CisOneSubsequenceHelper.h

dm_divisor/DMDivisorApp.cpp
gfn_divisor/GFNDivisorApp.cpp
fixed_bnc/FixedBNCApp.cpp
fixed_kbn/FixedKBNApp.cpp
kbb/KBBApp.cpp
sierpinski_riesel/SierpinskiRieselApp.cpp
twin/TwinApp.cpp
ALL have wrong permissions (I had to chmod 666 to them)

core/../opencl/Device.h:19:13: fatal error: CL/cl.h: File or directory not existing
And setting ENABLE_GPU=no does not work either.

Luigi
ET_ is offline   Reply With Quote
Old 2019-08-29, 13:38   #194
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

134368 Posts
Default

Quote:
Originally Posted by ET_ View Post
I ran make and found:

#include "CIsOneSubsequenceHelper.h" - the correct file name is CisOneSubsequenceHelper.h

dm_divisor/DMDivisorApp.cpp
gfn_divisor/GFNDivisorApp.cpp
fixed_bnc/FixedBNCApp.cpp
fixed_kbn/FixedKBNApp.cpp
kbb/KBBApp.cpp
sierpinski_riesel/SierpinskiRieselApp.cpp
twin/TwinApp.cpp
ALL have wrong permissions (I had to chmod 666 to them)

core/../opencl/Device.h:19:13: fatal error: CL/cl.h: File or directory not existing
And setting ENABLE_GPU=no does not work either.

Luigi
I'll fix that spelling. Windows doesn't care but OS X and Linux do.

Since the .7z file is created on Windows, I don't know how its permissions correspond to permissions on Linux.

The ENABLE_GPU flag is removed from the makefile. If you have a GPU, then you will need to install an OpenCL SDK. You also might need to modify the GPUCPPFLAGS and GPULDFLAGS in the makefile.

If you do not have a GPU, then use "make cpu_all". It will no build the OpenCL versions of the exes.
rogue is offline   Reply With Quote
Old 2019-08-31, 03:31   #195
Happy5214
 
Happy5214's Avatar
 
"Alexander"
Nov 2008
The Alamo City

5708 Posts
Default

Quote:
Originally Posted by rebirther View Post
Code:
n:\riesel-base537 - Kopie>srsieve2 -n2501 -N10000 -P1e9 -spl_remain.txt -fB
srsieve2 v1.1, a program to find factors of k*b^n+c numbers for fixed b and vari
able k and n
Fatal Error:  srsieve2: invalid argument -f B
That's because 'B' is missing from line 114 of SierpinskiRieselApp.cpp:

Code:
status = Parser::Parse(arg, "ADP", value);
Is base 2 one of the slow bases for srsieve2? I tested 1467763*2^n-1, with n between 1.2e6 and 1.3e6, to P=1e9. srsieve took about 141 seconds. Here's the srsieve2 output:

Quote:
srsieve2 v1.1, a program to find factors of k*b^n+c numbers for fixed b and variable k and n
Sieving with generic logic
Sieve started: 2 < p < 1e9 with 100001 terms (1200000 < n < 1300000, k*2^n+c) (expecting 96656 factors)
Sieving with generic logic
Sieving with generic logic
p=868205083, 244.8K p/sec, 96449 factors found at 1.884 f/sec, 86.8% done. ETC 2019-08-30 22:02
Sieve completed at p=1000000009.
Processor time: 207.48 sec. (0.64 sieving) (1.00 cores)
3534 terms written to b2_n.abcd
Primes tested: 49847480. Factors found: 96467. Remaining terms: 3534. Time: 208.32 seconds.
Multiple threads did yield much better results.
Happy5214 is offline   Reply With Quote
Old 2019-08-31, 03:33   #196
Happy5214
 
Happy5214's Avatar
 
"Alexander"
Nov 2008
The Alamo City

5708 Posts
Default

Also, in the same file, lines 528 and 530 should have newlines at the ends of the format strings. Right now, the first term is printed on the same line as the BOINC header.
Happy5214 is offline   Reply With Quote
Old 2019-09-01, 13:44   #197
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

171E16 Posts
Default

Quote:
Originally Posted by Happy5214 View Post
That's because 'B' is missing from line 114 of SierpinskiRieselApp.cpp:

Code:
status = Parser::Parse(arg, "ADP", value);
Is base 2 one of the slow bases for srsieve2? I tested 1467763*2^n-1, with n between 1.2e6 and 1.3e6, to P=1e9. srsieve took about 141 seconds.
I'll add the missing 'B' and newlines

I have no explanation at this time for the time difference between the two. I suspect is has to do with cache hits and misses because they use the same logic, albeit implemented slightly differently. srsieve2 uses vector<bool> while srsieve uses a bitmap. vector<bool> uses a byte per bit, so that could be the reason. I could play around with changing that to see the impact.

BTW, here are the results on my lnew 6-core l7 laptop:

Code:
srsieve -n1200000 -N1300000 -P1e9 1467763*2^^n-1
srsieve 1.1.4 -- A sieve for integer sequences in n of the form k*b^n+c.
srsieve started: 1200000 <= n <= 1300000, 3 <= p <= 1000000000
Split 1 base 2 sequence into 1 base 2^4 subsequence.
p=557271703, 9296228 p/sec, 96371 terms eliminated, 3630 remain
Sieving 3 <= p <= 1000000000 eliminated 96467 terms, 3534 remain.
Wrote 3534 terms for 1 sequence to srsieve format file `srsieve.out'.
srsieve stopped: at p=1000000000 because --pmax was reached.
Processor time: 104.00 sec

srsieve2 -n1200000 -N1300000 -P1e9 -s1467763*2^^n-1
srsieve2 v1.1, a program to find factors of k*b^n+c numbers for fixed b and variable k and n
Sieving with generic logic
Sieve started: 2 < p < 1e9 with 100001 terms (1200000 < n < 1300000, k*2^n+c) (expecting 96656 factors)
Sieving with generic logic
Sieving with generic logic
  p=502635611, 419.7K p/sec, 96350 factors found at 1.612K f/sec, 50.3% done. ETC 2019-09-01 08:59
Sieve completed at p=1000000009.
Processor time: 114.41 sec. (0.28 sieving) (0.98 cores)
3534 terms written to b2_n.abcd
Primes tested: 49847480.  Factors found: 96467.  Remaining terms: 3534.  Time: 116.21 seconds.
It's still slower, but not by as much as your run.

Last fiddled with by rogue on 2019-09-01 at 14:01
rogue is offline   Reply With Quote
Old 2019-09-01, 19:56   #198
henryzz
Just call me Henry
 
henryzz's Avatar
 
"David"
Sep 2007
Cambridge (GMT/BST)

2×2,861 Posts
Default

Could this be cache size differences? Does srsieve2 adjust for different size caches?
henryzz is offline   Reply With Quote
Reply

Thread Tools


All times are UTC. The time now is 05:35.

Mon Sep 28 05:35:13 UTC 2020 up 18 days, 2:46, 0 users, load averages: 1.24, 1.36, 1.40

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, 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.