![]() |
[QUOTE=EdH;588356]Could I delete siqs.dat as soon as "SIQS elapsed time" appears in factor.log? Is there any need for siqs.dat to exist after that point? It would be easy for me to have a separate script watching factor.log for that line and invoke a deletion. As long as that wouldn't interfere with normal runs, I'll try it. I'm already deleting siqs.dat prior to each run anyway. This would just do it sooner.[/QUOTE]
There is no need for the file after that line, no. |
[QUOTE=bsquared;588357]There is no need for the file after that line, no.[/QUOTE]Would it make any sense for YAFU itself to have an option to auto-delete siqs.dat at the point where it's no longer required? Defaulted off of course, but perhaps easier (or at least more reliable) than depending on external programs to monitor and delete when it's (hopefully) no longer needed (or via manual cleanup).
|
[QUOTE=James Heinrich;588358]Would it make any sense for YAFU itself to have an option to auto-delete siqs.dat at the point where it's no longer required? Defaulted off of course, but perhaps easier (or at least more reliable) than depending on external programs to monitor and delete when it's (hopefully) no longer needed (or via manual cleanup).[/QUOTE]
Yes that does make sense :smile:. There is also the existing "inmem" option. As the name suggests, siqs does all work in RAM and never writes to siqs.dat. Of course if something goes wrong or you want to abort then you have to start over. But for most jobs that's seconds to a few minutes or so. And in EdH's case it would probably solve the looping problem because if no factors are found, the next time around an entirely new matrix will be built. usage: -inmem 70 Where 70 (for example) means that all 70 digit inputs or smaller are processed without saving to file. |
[QUOTE=bsquared;588360]There is also the existing "inmem" option...
Where 70 (for example) means that all 70 digit inputs or smaller are processed without saving to file.[/QUOTE]Ooh, I didn't know about that, new feature in 2.0 I guess (I'm still mostly stuck with 1.34 on my i7-3930K). It will go nicely with the [URL="https://www.mersenneforum.org/showthread.php?t=27099"]extension to -pretest feature[/URL] I requested. :wink: |
[QUOTE=bsquared;588360]Yes that does make sense :smile:.
There is also the existing "inmem" option. As the name suggests, siqs does all work in RAM and never writes to siqs.dat. Of course if something goes wrong or you want to abort then you have to start over. But for most jobs that's seconds to a few minutes or so. And in EdH's case it would probably solve the looping problem because if no factors are found, the next time around an entirely new matrix will be built. usage: -inmem 70 Where 70 (for example) means that all 70 digit inputs or smaller are processed without saving to file.[/QUOTE]Excellent! I'm changing all my yafu.ini files to inmem=95 (since I'm working at 91 digits right now). I'll let you know if that prevents the machines from looping. . . Thanks! |
[QUOTE=EdH;588364]Excellent! I'm changing all my yafu.ini files to inmem=95 (since I'm working at 91 digits right now). I'll let you know if that prevents the machines from looping. . .[/QUOTE]I made it overnight and so far today without any looping, so I'm going to declare this a suitable setting. Additionally, I reset the "inmem" to 70 and wrote a script to factor one of the failed composites repeatedly, trying for a loop. The three machines I ran the script on totaled over 700 iterations without an occurrence. The script is provided below for others to try or comment on.[code]#!/bin/bash
comp=11539488294330117240202826559598428302679556688248012471560145814831982545559910259149337 count=0 while [ ! -e stopTest ] do rm siqs.dat 2>/dev/null rm factor.log 2>/dev/null rm session.log 2>/dev/null rm loopTest.log 2>/dev/null let count=${count}+1 dt=$(date) echo "Run ${count} started at ${dt:16:11}" echo "siqs(${comp})" | ./yafu >>loopTest.log done[/code] |
Single yafu.ini across several varied machines
For ease of updates, etc., I would like to have a single yafu.ini that will work on all my machines (maybe excluding the AMDs). I currently have that for everything but the tune_info. It appears that I can add all the machines' tune_info into a single yafu.ini and the appropriate line will be used for each machine.
Is there a limit to how many tune_info lines I should use? I have several of a particular i7 and they vary in RAM (or other specs). Should I choose the lower or higher set of values, or are they close enough (if even different) that I would notice no difference? Thanks for all. |
[QUOTE=EdH;588415]For ease of updates, etc., I would like to have a single yafu.ini that will work on all my machines (maybe excluding the AMDs). I currently have that for everything but the tune_info. It appears that I can add all the machines' tune_info into a single yafu.ini and the appropriate line will be used for each machine.
Is there a limit to how many tune_info lines I should use? I have several of a particular i7 and they vary in RAM (or other specs). Should I choose the lower or higher set of values, or are they close enough (if even different) that I would notice no difference? Thanks for all.[/QUOTE] There is no built-in limit. There is nothing computationally intensive about processing them. So, have a ball! If it helps at all the structure of them is: cpu-string, os-string, siqs-mult, siqs-exp, nfs-mult, nfs-exp, siqs-gnfs-xover, freq If the line's cpu-string and os-string match the current cpu/os then the rest of the line is parsed and applied, RAM and other system configuration will not enter into it. Really only the siqs-gnfs-xover number is used, the rest is just informational (but parsing expects them to be there - it is not robust to missing info). The mult/exp numbers are constants in an exponential trendline fit to the data measured during tune. The freq is unused, I think tune just assigns it the value '42' for now. Because, reasons. |
[QUOTE=bsquared;588423]There is no built-in limit. There is nothing computationally intensive about processing them. So, have a ball! If it helps at all the structure of them is:
cpu-string, os-string, siqs-mult, siqs-exp, nfs-mult, nfs-exp, siqs-gnfs-xover, freq If the line's cpu-string and os-string match the current cpu/os then the rest of the line is parsed and applied. Really only the siqs-gnfs-xover number is used, the rest is just informational (but parsing expects them to be there - it is not robust to missing info). The mult/exp numbers are constants in an exponential trendline fit to the data measured during tune. The freq is unused, I think tune just assigns it the value '42' for now. Because, reasons.[/QUOTE]Excellent! Thanks for the extra info. Does the tune_info take precedence over "xover=100," or do I need to comment (% ) that out? |
[QUOTE=EdH;588425]Excellent! Thanks for the extra info. Does the tune_info take precedence over "xover=100," or do I need to comment (% ) that out?[/QUOTE]
tune_info should take precedence, but let me know if not. |
[QUOTE=bsquared;588427]tune_info should take precedence, but let me know if not.[/QUOTE]i have should have checked first, but tune_info is superseded by xover:[code]fac: using specified qs/gnfs crossover of 100 digits
fac: using specified qs/snfs crossover of 75 digits[/code]vs.:[code]fac: using tune info for qs/gnfs crossover[/code]when I comment it out. Thanks. |
All times are UTC. The time now is 02:40. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.