mersenneforum.org  

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

Reply
 
Thread Tools
Old 2022-12-08, 21:20   #826
storm5510
Random Account
 
storm5510's Avatar
 
Aug 2009
Not U. + S.A.

23×32×5×7 Posts
Default

Quote:
Originally Posted by rogue View Post
Okay. I built on Windows 10. I do not have a Windows 7 machine to build on and I'm not certain how to build a Windows 7 compatible binary. If you want to try your own build, then you will need to install this:

Code:
D:\test\done>gcc --version
clang version 14.0.0 (https://github.com/llvm/llvm-project.git 329fda39c507e8740978d10458451dcdb21563be)
Target: x86_64-w64-windows-gnu
Thread model: posix
InstalledDir: C:/llvm-mingw-20220323-ucrt-x86_64/bin
And an OpenCL SDK. I don't know if the AMD one I have used is still available online, but there are others.
No, I won't try to do a custom build. The older one you wrote in 2020 is working just fine. Using the -W switch to specify threads helps tremendously.
storm5510 is offline   Reply With Quote
Old 2022-12-09, 05:07   #827
storm5510
Random Account
 
storm5510's Avatar
 
Aug 2009
Not U. + S.A.

23×32×5×7 Posts
Default

@rogue

Look at the last line in the attached image. It may have something to do with the line after the invocation.
Attached Thumbnails
Click image for larger version

Name:	Capture.JPG
Views:	25
Size:	56.8 KB
ID:	27720  
storm5510 is offline   Reply With Quote
Old 2022-12-09, 12:44   #828
Happy5214
 
Happy5214's Avatar
 
"Alexander"
Nov 2008
The Alamo City

2×33×17 Posts
Default

Quote:
Originally Posted by storm5510 View Post
If will only display the first one it does not find. Below are some sample names I found.

Code:
api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-console-l1-2-0.dll
api-ms-win-core-datetime-l1-1-0.dll
There are many more. I "think" these may be .Net Framework, but I am not sure.
From what I could gather on the Microsoft website, those are internal API DLLs for the operating system (the specific phrase used was "implementation detail"), and they're Windows version-specific. They will not work if copied from a newer version of Windows. To answer your question, they're not related to .Net.
Happy5214 is offline   Reply With Quote
Old 2022-12-09, 13:51   #829
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2×72×71 Posts
Default

Quote:
Originally Posted by storm5510 View Post
@rogue

Look at the last line in the attached image. It may have something to do with the line after the invocation.
This is not a valid use case for srsieve2. You must pre-sieve all sequences to remove small terms before triggering the special logic which is used for larger p. You should never start sieving a new sequence at p > 1e6. In fact you should never specify -p when you start a new sequence.

I will add some validation to prevent this.
rogue is offline   Reply With Quote
Old 2022-12-09, 17:02   #830
storm5510
Random Account
 
storm5510's Avatar
 
Aug 2009
Not U. + S.A.

23×32×5×7 Posts
Default

Quote:
Originally Posted by rogue View Post
This is not a valid use case for srsieve2. You must pre-sieve all sequences to remove small terms before triggering the special logic which is used for larger p. You should never start sieving a new sequence at p > 1e6. In fact you should never specify -p when you start a new sequence.

I will add some validation to prevent this.
This is the 3rd of 3 batch files. The first two use lower p values.

Look at my last post in "Sieving for CRUS." If you change the program, I may not be able to do what I am doing now unless I stay with the current version, which I would have to.
storm5510 is offline   Reply With Quote
Old 2022-12-10, 18:02   #831
pepi37
 
pepi37's Avatar
 
Dec 2011
After milion nines:)

3·541 Posts
Default

In srsieve2cl what is M switch?
I cannot find it in help menu...

Quote:
srsieve2cl -g 512 -M 7500 -P 5e13 -f B -i b1732_n.boinc -o b17323_n.boinc -O fact173.txt
I do some testing on GPU ( 2070 SUPER) and find that -g must be 512 to get stable 95% gou utilization and speed same as 4 core ryzen 7 5700x at 4Ghz.
But switch M is still mystery. (and looks like speed is same with or without M switch)

Last fiddled with by pepi37 on 2022-12-10 at 18:06 Reason: add more info
pepi37 is online now   Reply With Quote
Old 2022-12-10, 18:29   #832
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2·72·71 Posts
Default

Quote:
Originally Posted by pepi37 View Post
In srsieve2cl what is M switch?
I cannot find it in help menu...

I do some testing on GPU ( 2070 SUPER) and find that -g must be 512 to get stable 95% gou utilization and speed same as 4 core ryzen 7 5700x at 4Ghz.
But switch M is still mystery. (and looks like speed is same with or without M switch)
-M sets the maxfactordensity, which indicates the number of expected factors per 1e6 terms. If the GPU cannot report all of the factors it will terminate the run and tell you to adjust it. At higher p you shouldn't need to adjust it. If you need to set it and set it too high, then it could impact performance due to how much more memory is required.
rogue is offline   Reply With Quote
Old 2022-12-12, 16:47   #833
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2·72·71 Posts
Default

I have posted mtsieve 2.3.8. Here are the changes:

Code:
mfsieve/mfsievecl: version 2.1
   Build a list of terms with powers prior to sieving so that computing minn! is faster.
   For factorial, this improves the calculation of minn! by 30% with minn=1e6 when using
   the GPU and by 40% when using the CPU.
   Multi-factorials where minn < 1e6 will see less of a boost in performance.
   
srsieve2/srsieve2cl: version 1.6.6   
   Added -Q which will output estimated work for each possible q.
   Added -q which can be used to specify the q to use (if that q is possible),
   overriding the computed best q.
   
   To use -Q, first sieve your sequence(s) to at least 1e6.  This will ensure that
   subsequent runs are using the correct sieving subroutines.  Starting with the
   output file, run that output file with the -q flag then stop immediately after
   it outputs a group of lines looking like this:
   
   q =   45 with    162 subseq yields bs =   445, gs =     2, work =    793
   
   work is an estimated cost for that q with lower costs implying higher throughput.
   
   To use -q, take each of the q values output from -Q and run a range of at least
   1e9 to determine the actual amount of time it takes for that q.  Using the
   Run a range of at least 1e9 using -Q to specific which q to run with selecting
   the q output from using the -q flag.  Although you can run all q, you can limit
   to those q withing 20% of the lowest cost.  For each run observe the total time
   for that run to determine which q required the least amount of time.  You should
   then run the entire range with that q.  This will not necessrily be the q with
   the lowest cost.
rogue is offline   Reply With Quote
Old 2022-12-12, 19:01   #834
Happy5214
 
Happy5214's Avatar
 
"Alexander"
Nov 2008
The Alamo City

2·33·17 Posts
Default

Quote:
Originally Posted by rogue View Post
I have posted mtsieve 2.3.8. Here are the changes:

Code:
[...]
   
srsieve2/srsieve2cl: version 1.6.6   
   Added -Q which will output estimated work for each possible q.
   Added -q which can be used to specify the q to use (if that q is possible),
   overriding the computed best q.
   
   To use -Q, first sieve your sequence(s) to at least 1e6.  This will ensure that
   subsequent runs are using the correct sieving subroutines.  Starting with the
   output file, run that output file with the -q flag then stop immediately after
   it outputs a group of lines looking like this:
   
   q =   45 with    162 subseq yields bs =   445, gs =     2, work =    793
   
   work is an estimated cost for that q with lower costs implying higher throughput.
   
   To use -q, take each of the q values output from -Q and run a range of at least
   1e9 to determine the actual amount of time it takes for that q.  Using the
   Run a range of at least 1e9 using -Q to specific which q to run with selecting
   the q output from using the -q flag.  Although you can run all q, you can limit
   to those q withing 20% of the lowest cost.  For each run observe the total time
   for that run to determine which q required the least amount of time.  You should
   then run the entire range with that q.  This will not necessrily be the q with
   the lowest cost.
Your description of the -q and -Q flag usage seems to flip the flags around as it goes along. Can you please look over those again and clarify?

Last fiddled with by Happy5214 on 2022-12-12 at 19:01 Reason: Clip irrelevant changes
Happy5214 is offline   Reply With Quote
Old 2022-12-12, 19:09   #835
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2×72×71 Posts
Default

Sorry about that. How about this:

Code:
      Added -Q which will output estimated work for each possible q.
      Added -q which can be used to specify the q to use (if that q is possible),
      overriding the computed best q.
      
      To use -Q, first sieve your sequence(s) to at least 1e6.  This will ensure that
      subsequent runs are using the correct sieving subroutines.  Starting with the
      output file, run that output file with the -Q flag then stop immediately after
      it outputs a group of lines looking like this:
      
      q =   45 with    162 subseq yields bs =   445, gs =     2, work =    793
      
      work is an estimated cost for that q with lower costs implying higher throughput.
      
      To use -q, take each of the q values output from -Q and run a range of at least
      1e9 to determine the actual amount of time it takes for that q.  Using the
      Run a range of at least 1e9 using -q to specific which q to run with selecting
      the q output from using the -q flag.  Although you can run all q, you can limit
      to those q withing 20% of the lowest cost.  For each run observe the total time
      for that run to determine which q required the least amount of time.  You should
      then run the entire range with that q.  This will not necessrily be the q with
      the lowest cost.
rogue is offline   Reply With Quote
Old 2022-12-12, 19:34   #836
Happy5214
 
Happy5214's Avatar
 
"Alexander"
Nov 2008
The Alamo City

2×33×17 Posts
Default

Quote:
Originally Posted by rogue View Post
Sorry about that. How about this:

Code:
      Added -Q which will output estimated work for each possible q.
      Added -q which can be used to specify the q to use (if that q is possible),
      overriding the computed best q.
      
      To use -Q, first sieve your sequence(s) to at least 1e6.  This will ensure that
      subsequent runs are using the correct sieving subroutines.  Starting with the
      output file, run that output file with the -Q flag then stop immediately after
      it outputs a group of lines looking like this:
      
      q =   45 with    162 subseq yields bs =   445, gs =     2, work =    793
      
      work is an estimated cost for that q with lower costs implying higher throughput.
      
      To use -q, take each of the q values output from -Q and run a range of at least
      1e9 to determine the actual amount of time it takes for that q.  Using the [?]
      Run a range of at least 1e9 using -q to specific[specify] which q to run with[by] selecting
      the q output from using the -q[-Q] flag.  Although you can run all q, you can limit
      to those q withing 20% of the lowest cost.  For each run observe the total time
      for that run to determine which q required the least amount of time.  You should
      then run the entire range with that q.  This will not necessrily[necessarily] be the q with
      the lowest cost.
I just marked up the quote to show what I best understood it to mean.
Happy5214 is offline   Reply With Quote
Reply

Thread Tools


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


Fri Jan 27 15:02:38 UTC 2023 up 162 days, 12:31, 0 users, load averages: 1.36, 1.21, 1.12

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.

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