| Author |
Message |
|
|
|
Interesting and foremost well done to all involved!
Any speed improvement or deficit?
I would love to get rid of Windows and specifically Defender who always finds new ways to kill the pfgw64 process. Grrrr.... |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
|
Linux is faster than windows. Pls note that you have no total runtime in logfile in v2.1 |
|
|
|
|
Linux is faster than windows. Pls note that you have no total runtime in logfile in v2.1
Do you mind that I substitute that manually? (creation time - finish time)
You process my submission so therefore the question :) |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
|
I need to check the code. Maybe we can do something more to support it in the older version. |
|
|
|
|
Linux is faster than windows.
Unfortunately this is true with the majority of things that run on Linux |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
|
We are working on a convertion of the latest code to linux which fixes all issues we have found in v2.1, currently is (on windows v2.3 has all the fixes):
- maxNfbncsieve must be greater than 0 for automatic setting (standard 4) |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
Linux is faster than windows. Pls note that you have no total runtime in logfile in v2.1
We have added the total runtime log function in v2.1 linux. |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
|
maxNfbncsieve=0 is working now for automatic setting, srbsieve was recompiled and fixed in latest source, update package soon |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
|
We are working on a v2.3 linux script to avoid any errors which we have found in v2.1. Also some optimizations on the code conversion. |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
|
Testing is nearly done with more improvements, v2.3 linux is public soon |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
|
v2.3 linux is done, we have found a last minute bug in srbsieve, changelog is coming soon |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
srbsieve v1.9.2 Changes:
1. Small fix: When you are in extend mode and a worker finds no primes in a single phase, it would sometimes crash with a segmentation fault error. It was caused by the program attempting a comparison on what should have been an inaccessible area of memory. Adding a check for the existence of the file before making the comparison fixed the problem.
2. Most useful: The version number of the program will now be displayed when the program starts.
Important for those running under Linux:
Included in the updated attachment in the first post are updated Linux binaries for srbsieve and srbverify to include all of the latest changes for both programs. The previous binaries were very old and should not be used anymore. Full testing was done by both Reb and me on the binaries.
Note that the Windows executables of both programs are compiled as static while the Linux binaries are compiled as dynamic. If you would like static compiles, let me know and I can provide them.
I got everything fixed on srbsieve_mthd_linux version 2.3. Full testing was done using your new srbsieve and srbverify binaries. Fixes:
1. All workers will now automatically minimize.*
2. All workers should be in order on the taskbar.**
3. Ctrl-C on the main terminal now properly closes all workers and stops their processing.
* Sometimes 1-2 workers may not minimize. I put a 0.25 second sleep command in there that prevented most of the problem. I could make it longer but then it would take a little too long to open and minimize them all if you are running 30+ workers.
** Sometimes workers may be slightly out of order within your taskbar but for the most part they are very much in order. I have observed that this happens on Windows too so it is not a bug. An additional sleep command could probably be added somewhere to prevent it but that would take even more time.
A lot of cleanup was done:
1. Removed all Windows-specific code related to the opening and closing of the workers.
2. Removed the need for a Linux xterm bash script. This is now handled in the srbsieve_mthd program.
3. Rewrote the entire section of code related to the opening and stopping of the workers and handling of Ctrl-C.
4. Program is now completely up to date to version 2.3.
There are some new requirements:
1. Users will need to download the xdotool package for Linux. This allows the workers to be minimized. If they don't do that, it won't hurt anything. They will just have to manually minimize them.
2. The folder where the programs are stored must begin with a capital letter, e.g. Base, Programs, or Files. All other folders are capitalized and this was the way it was originally written by Pokemonlover.
3. pfgw64.exe and srbsieve.exe are no longer needed. Only the applicable Linux binaries are needed. |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
Download the xdotool package if you don't have it already. The command for Ubuntu is: sudo apt-get install xdotool. This allows the worker windows to run minimized
is working most of the linux distros. |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
srbsieve v1.9.3. This affects Linux users only.
There was a small problem only when running in Linux: If PFGW was unable to prove a PRP, the code that made additional attempts to prove the PRP did not run correctly. This resulted in the pl_unknown file when running srbsieve and pl_missing file when running srbverify, which required additional user intervention. That has now been fixed so the files should no longer appear.
There was no functional change to Windows code but the logic that runs through both O.S.s was slightly changed to accommodate Linux processing so there is both an updated Windows executable and Linux binary.
This is a never-ending problem with PFGW. The problem appeared in the latest version 4.1.7. There have been multiple fixes in various GWNUMs over the years but it never goes away entirely so the srbsieve code will always need to be there to prove unproven PRPs. |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
srbsieve v1.9.4 and pfgw4.1.8 changelog
- Upgrade to gwnum v31.5 to address an issue with Montgomery reduction FFT selection.
- Fixed an infinite loop which occurs when Montogemery reduction FFT exceeds MAXERR with primality tests
srbsieve v1.9.4: This was a small fix that affects anyone who compiles the source in Visual Studio.
There is no functional change but some recent code in the merge_results function on lines 1779-1780 caused a problem when compiling in Visual Studio. Those two lines were the main crux of the changes. There were also several other lines that needed minor changes later in the same function as a result of it |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
|
pfgw4.1.8 changelog
- changed the print method used to use the same one used previously |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
|
v2.4.2 changelog
Bugs:
1. During sieving, the progress reports crypticly always show "Sieving (Line - of -): -% through current phase."
Change this to always show "Sieving: progress shown when PRP testing begins."
2. If in resume mode, the program does not allow for a change in the number of minutes between status updates
(or 0 for no updates). The screen is updated but no change is made in processing or the .json file. Correct
this in both places.
3. If a worker has completed and the user does a Ctrl-C on the main terminal to stop all workers and then
does a resume, it shows "Note: Worker Not Running" on the first progress report. Subsequent progress
reports correctly show "Worker {worker} - Complete". Correct this for the first progress report.
4. If in new base or extend mode, there should be no progress report at the beginning because nothing is done.
This is correct when in resume mode since work has already processed. Correct it to not show a progress report
at the beginning when in new base or extend mode. (See additional code cosmetic below.)
5. The current and total line numbers as displayed by the program are both one too many during PRP testing.
The file that the info is gathered from contains a header line that should be ignored. Correct it to subtract
one from the current and total line numbers.
6. When the original run is an extend, the current and total number of phases is one too many. Correct it
to subtract one from the current and total number of phases.
7. No updated progress report is sent at the end so the final report shows at least one incompleted worker
even though all are completed. Always send a final status report if the user has not hit Ctrl-C.
8. If we are in the sieving removal rate process during a progress update, it incorrectly outputs that it
is primality testing, shows an invalid line # and total lines, and the phase is one too low. Correct it to
show a simple message without any info about the phase or k's.
9. If we are in the verifying primes phase during a progress update, it leaves the prior sieving or testing
statements on the screen in addition to the "verifying primes". Correct it to only show the verifying primes comment.
10. The line count total for primality verification is equal to the number of k's remaining in srbsieve.ini.
Correct it to be the total number of PRPs to prove.
11. If there was no relevant info in pfgw.ini on the first progress report during PRP testing, the line count is
equal to the number of k's remaining in srbsieve.ini for the remainder of all progress reports during that phase's
PRP testing. Correct this for the first progress report to state "PRP testing just started". On the next progress
report where relevant info is available, read the PFGW sieve file to get the line count.
12. If there are multiple chunks of work in a phase, if the chunk changes between progress updates but the phase
and step remain the same, the k-range is not updated. It continues to show the previous chunk's k-range only.
Also, the current and total chunks are not shown anywhere. Correct these to additionally check for a change in
chunk (subphase in ckpt) when doing updates to the k-range and to show the current and total chunks directly
after the phase info and before the k-range and update the k-range.
Display cosmetics:
1. Changed format of date-time to have a space between date and time and removed microseconds.
2. Changed "through current phase (Verifying primes)" to "through primality verification"
3. Changed "through current phase" to "through PRP testing"
4. When sieving, always show "Sieving: progress shown when PRP testing begins.". (bug #1)
5. When doing the sieving removal rate process, always show only "Worker X - Sieving removal rate calculation in progress."
with no additional info. There is no accurate info about phases/line counts available at that point. (bug #8)
Code cosmetics:
1. Removed all nostate logic as a result of correcting bug #4 and new handling of various conditions
at the beginning of processing.
2. Removed the nockpt logic after get_progstring function. Based on the timing of when the progress reports are
now displayed and new handling of conditions at the beginning of processing, it is not needed in later functions.
3. A user could not change the minutes between progress updates while in resume mode.
4. 0% status reports were being sent at the very beginning when in new base and extend mode even though nothing had been done yet.
5. A final 100% completed status report was not displayed when all workers were complete, which made it appear as though some workers were not yet complete.
6. The minutes between updates field was only validated as a positive integer on the screen but not validated at all in the .json file or for reasonableness on the screen. |
|
|
rebirtherVolunteer moderator Project administrator Project developer Project tester Project scientist
 Send message
Joined: 2 Jan 13 Posts: 8588 Credit: 225,436,813 RAC: 0
|
|
v2.5 changelog
1. Create a combined pl_results.txt (residues) file that is sent to the Output folder for submission when running larger tests in the following situations:
(a) Bases 3, 7, & 15 only: All phases where maxn > 100K.
(b) All other bases: All phases where maxn > 25K.
2. Standardize the output wording a little better on the progress reports. |
|
|