mersenneforum.org mtsieve
 Register FAQ Search Today's Posts Mark Forums Read

2019-08-18, 15:42   #188
pepi37

Dec 2011
After milion nines:)

53F16 Posts

Quote:
 Originally Posted by rogue 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

2019-08-18, 17:21   #189
Dylan14

"Dylan"
Mar 2017

51410 Posts

Quote:
 Originally Posted by Dylan14 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.

2019-08-18, 19:55   #190
rogue

"Mark"
Apr 2003
Between here and the

2×11×269 Posts

Quote:
 Originally Posted by pepi37 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.

2019-08-18, 19:56   #191
rogue

"Mark"
Apr 2003
Between here and the

2·11·269 Posts

Quote:
 Originally Posted by Dylan14 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.

 2019-08-29, 01:56 #192 rogue     "Mark" Apr 2003 Between here and the 2×11×269 Posts I posted version 1.9.5 of the framework. The only change is that I fixed the factor rate calculation.
2019-08-29, 11:22   #193
ET_
Banned

"Luigi"
Aug 2002
Team Italia

10010100111102 Posts

Quote:
 Originally Posted by rogue 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

2019-08-29, 13:38   #194
rogue

"Mark"
Apr 2003
Between here and the

134368 Posts

Quote:
 Originally Posted by ET_ 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.

2019-08-31, 03:31   #195
Happy5214

"Alexander"
Nov 2008
The Alamo City

5708 Posts

Quote:
 Originally Posted by rebirther 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.

 2019-08-31, 03:33 #196 Happy5214     "Alexander" Nov 2008 The Alamo City 5708 Posts 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.
2019-09-01, 13:44   #197
rogue

"Mark"
Apr 2003
Between here and the

171E16 Posts

Quote:
 Originally Posted by Happy5214 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

 2019-09-01, 19:56 #198 henryzz Just call me Henry     "David" Sep 2007 Cambridge (GMT/BST) 2×2,861 Posts Could this be cache size differences? Does srsieve2 adjust for different size caches?