mersenneforum.org  

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

Reply
 
Thread Tools
Old 2023-05-24, 13:46   #1189
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2·3,607 Posts
Default

I have posted mtsieve 2.4.7 to sourceforge. Here is a summary of the changes.

Code:
framework:
   Added command line switch -4.  Sieving will stop when the factors per
   second rate falls below the specified rate.   The rates only only evaluated 
   when the factor rate is computed, which is once per minute.
   
   Added command line switch -5.  Sieving will stop when the seconds per
   factor rate falls is above specified rate.  The rates only only evaluated 
   when the factor rate is computed, which is once per minute.

fbncsieve: version 1.6.2:
   If max p is overridden due to the ability to factor out all composite terms,
   then all remaining prime terms will be written the the output file as opposed
   to some being written to the <xx>_primes.txt file.
   
gcwsieve/gcwsievecl: version 1.5.2
   Modify output format to gcw_gfn.txt and gcw_mersenne.txt to make more sense.

srsieve2/srsieve2cl: version 1.7
   Can now support hundreds of thousands of sequences per execution.

   Added command line switch -S to split the sequences into separate files by
   best Q for tha sequence.  The resulting files should then be run with -q to
   ensure that it uses the best Q for that set of sequences.

   The software only factors k*b^n+/-c, even if d > 1.  When d > 1 a couple
   of other checks are in play.
   
   When sieving sequences (k*b^n+/-c)/d where d > 1, terms where d > factor and
   gcd(d, factor) > 0 will be not be removed when (k*b^n+/-c) mod factor = 0
   because there is no easy way to verify that if factor divides (k*b^n+/-c)
   that it also divides (k*b^n+/-c)/d.

   Added command line switch -r for use with (k*b^n+/-c)/d sequences where d > 1.
   When specified this will remove terms where k*b^n+/-c mod d != 0.  If you do not
   use -r then pfgw will use floor((k*b^n+/-c)/d) before doing the PRP test.
Please let me know if you run into any issues.
rogue is online now   Reply With Quote
Old 2023-05-25, 17:14   #1190
storm5510
Random Account
 
storm5510's Avatar
 
Aug 2009
Not U. + S.A.

275210 Posts
Default

Something I stumbled upon: If I take an ABCD file created with a v1.6.x version of srsieve2, v1.7 will drop out to the command prompt after displaying, "Split x base x sequences into x base x^y sequences." If I start a new series with v1.7, then there is no problem continuing with an ABCD.

This is easily avoidable if a person is aware of it. I was not until now.
storm5510 is offline   Reply With Quote
Old 2023-05-25, 17:44   #1191
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

1C2E16 Posts
Default

Quote:
Originally Posted by storm5510 View Post
Something I stumbled upon: If I take an ABCD file created with a v1.6.x version of srsieve2, v1.7 will drop out to the command prompt after displaying, "Split x base x sequences into x base x^y sequences." If I start a new series with v1.7, then there is no problem continuing with an ABCD.

This is easily avoidable if a person is aware of it. I was not until now.
Hmm. Post the ABCD file and I will take a look.
rogue is online now   Reply With Quote
Old 2023-05-26, 01:51   #1192
ryanp
 
ryanp's Avatar
 
Jun 2012
Boulder, CO

5·7·13 Posts
Default

Is the SVN repo at HEAD missing a file?

Code:
$ make -j 8 xyyxsieve
g++ -Isieve -m64 -Wall -DUSE_X86 -std=c++11 -O3 -c -o core/App_cpu.o core/App.cpp 
g++ -Isieve -m64 -Wall -DUSE_X86 -std=c++11 -O3 -c -o core/FactorApp_cpu.o core/FactorApp.cpp 
g++ -Isieve -m64 -Wall -DUSE_X86 -std=c++11 -O3 -c -o core/AlgebraicFactorApp_cpu.o core/AlgebraicFactorApp.cpp 
g++ -Isieve -m64 -Wall -DUSE_X86 -std=c++11 -O3 -c -o core/Clock_cpu.o core/Clock.cpp 
g++ -Isieve -m64 -Wall -DUSE_X86 -std=c++11 -O3 -c -o core/Parser_cpu.o core/Parser.cpp 
g++ -Isieve -m64 -Wall -DUSE_X86 -std=c++11 -O3 -c -o core/Worker_cpu.o core/Worker.cpp 
g++ -Isieve -m64 -Wall -DUSE_X86 -std=c++11 -O3 -c -o core/main_cpu.o core/main.cpp 
g++ -Isieve -m64 -Wall -DUSE_X86 -std=c++11 -O3 -c -o core/SharedMemoryItem_cpu.o core/SharedMemoryItem.cpp 
g++ -Isieve -m64 -Wall -DUSE_X86 -std=c++11 -O3 -c -o core/HashTable_cpu.o core/HashTable.cpp 
make: *** No rule to make target 'core/BigHashTable_cpu.o', needed by 'xyyxsieve'.  Stop.
make: *** Waiting for unfinished jobs....
ryanp is online now   Reply With Quote
Old 2023-05-26, 02:02   #1193
ryanp
 
ryanp's Avatar
 
Jun 2012
Boulder, CO

5×7×13 Posts
Default

I'm also seeing a segfault with an existing build of xyyxsievecl:

Code:
$ ./xyyxsievecl -i ./cand.txt  -o newterms.txt -P 1e11 -G 16 -g 16 -M 1000000
xyyxsieve v1.8.1, a program to find factors numbers of the form x^y+y^x or x^y-y^x
Segmentation fault (core dumped)
cand.txt is attached. I debugged only a little; seems to be something to do with how it allocates the iv_Terms array. It segfaults on the line assigning to it:

Code:
      if (haveBitMap)
      {
         iv_Terms[BIT(x, y)] = true;    // array seems too small here.
         il_TermCount++;
      }
Attached Files
File Type: txt cand.txt (48.0 KB, 2 views)
ryanp is online now   Reply With Quote
Old 2023-05-26, 12:30   #1194
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2×3,607 Posts
Default

I committed the missing source file.

I will take a look at the segfault today.

Thanks for posting the file. I expect it to be an easy fix, but one never knows...
rogue is online now   Reply With Quote
Old 2023-05-26, 15:08   #1195
storm5510
Random Account
 
storm5510's Avatar
 
Aug 2009
Not U. + S.A.

26×43 Posts
Default

Quote:
Originally Posted by rogue View Post
Hmm. Post the ABCD file and I will take a look.
Attached are two ABCD files. One ran with v1.6.9 and the other with v1.7. Both are derived from a 60% test I did for R60: 11652*60^n-1. They are identical. I took the one from v1.6.9 and attempted a continuation with v1.70 and it accepted it.

So, some instances, it works and other times not. The best solution is to not cross from one to the other.
Attached Files
File Type: txt v169.txt (207 Bytes, 2 views)
File Type: txt v170.txt (207 Bytes, 1 views)
storm5510 is offline   Reply With Quote
Old 2023-05-26, 15:30   #1196
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2×3,607 Posts
Default

Quote:
Originally Posted by rogue View Post
I committed the missing source file.

I will take a look at the segfault today.

Thanks for posting the file. I expect it to be an easy fix, but one never knows...
The root cause is that your range of x and y are too large and there isn't enough memory for the vector.

Although I have a solution, I don't like it because it negatively impacts performance. I need to spend more time on it.
rogue is online now   Reply With Quote
Old 2023-05-26, 15:50   #1197
ryanp
 
ryanp's Avatar
 
Jun 2012
Boulder, CO

5×7×13 Posts
Default

Quote:
Originally Posted by rogue View Post
The root cause is that your range of x and y are too large and there isn't enough memory for the vector.
Ah OK. Presumably I could just split the file into several and then sieve each one separately?
ryanp is online now   Reply With Quote
Old 2023-05-26, 16:57   #1198
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

160568 Posts
Default

Quote:
Originally Posted by ryanp View Post
Ah OK. Presumably I could just split the file into several and then sieve each one separately?
In this case yes because most of the performance improvements come from overlapping ranges of y for each x and y for each y.

Now that I think about it I could probably modify it to be more "brute force" depending upon the sparseness of x and y. That shouldn't hurt performance and might even help it.
rogue is online now   Reply With Quote
Old 2023-05-28, 23:08   #1199
storm5510
Random Account
 
storm5510's Avatar
 
Aug 2009
Not U. + S.A.

26·43 Posts
Default

The issue I mentioned with v1.7 of srsieve2 seems to continue. I can create a new sieve by using the -s switch in the proper form. If I use that output as in input using -i to elevate the levels of P, then it will drop out to the prompt. I should be able to work up a sample, if you would like.

Edit: This happens on the Riesel side only.

This will run properly:

Code:
srsieve2 -n100e3 -N250e3 -p3 -P1e9 -W7 -r -s"2444*45^n+1" -o1e9.abcd
srsieve2 -p1e9 -P5e9 -W7 -r -i1e9.abcd -o5e9.abcd
This will not:

Code:
srsieve2 -n3 -N100e3 -p3 -P1e9 -W7 -s"22*173^n-1" -o1e9.abcd
I will stick with v1.6.9 for now.

Last fiddled with by storm5510 on 2023-05-29 at 00:04 Reason: Additional
storm5510 is offline   Reply With Quote
Reply

Thread Tools


All times are UTC. The time now is 15:39.


Thu Jun 1 15:39:49 UTC 2023 up 287 days, 13:08, 0 users, load averages: 0.81, 0.89, 1.16

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

≠ ± ∓ ÷ × · − √ ‰ ⊗ ⊕ ⊖ ⊘ ⊙ ≤ ≥ ≦ ≧ ≨ ≩ ≺ ≻ ≼ ≽ ⊏ ⊐ ⊑ ⊒ ² ³ °
∠ ∟ ° ≅ ~ ‖ ⟂ ⫛
≡ ≜ ≈ ∝ ∞ ≪ ≫ ⌊⌋ ⌈⌉ ∘ ∏ ∐ ∑ ∧ ∨ ∩ ∪ ⨀ ⊕ ⊗ 𝖕 𝖖 𝖗 ⊲ ⊳
∅ ∖ ∁ ↦ ↣ ∩ ∪ ⊆ ⊂ ⊄ ⊊ ⊇ ⊃ ⊅ ⊋ ⊖ ∈ ∉ ∋ ∌ ℕ ℤ ℚ ℝ ℂ ℵ ℶ ℷ ℸ 𝓟
¬ ∨ ∧ ⊕ → ← ⇒ ⇐ ⇔ ∀ ∃ ∄ ∴ ∵ ⊤ ⊥ ⊢ ⊨ ⫤ ⊣ … ⋯ ⋮ ⋰ ⋱
∫ ∬ ∭ ∮ ∯ ∰ ∇ ∆ δ ∂ ℱ ℒ ℓ
𝛢𝛼 𝛣𝛽 𝛤𝛾 𝛥𝛿 𝛦𝜀𝜖 𝛧𝜁 𝛨𝜂 𝛩𝜃𝜗 𝛪𝜄 𝛫𝜅 𝛬𝜆 𝛭𝜇 𝛮𝜈 𝛯𝜉 𝛰𝜊 𝛱𝜋 𝛲𝜌 𝛴𝜎𝜍 𝛵𝜏 𝛶𝜐 𝛷𝜙𝜑 𝛸𝜒 𝛹𝜓 𝛺𝜔