mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > YAFU

Reply
 
Thread Tools
Old 2019-10-07, 15:52   #1
chris2be8
 
chris2be8's Avatar
 
Sep 2009

11×223 Posts
Default yafu ignoring yafu.ini

Hello,

I've found that yafu ignores yafu.ini even though it's called with a full path to the executable and yafu.ini is in the same directory.

Eg (from the log of my script calling it):
Code:
Mon Oct  7 15:25:54 2019 =>"/home/chris/yafu/yafu" 'factor(2387558269606450709622009990622002596238721211851386839362889832990611106360073)' -v -p -ecm_path /usr/bin/ecm -logfile ggnfs.log -threads 4
10/07/19 15:25:54 v1.34.5 @ rigel, 
10/07/19 15:25:54 v1.34.5 @ rigel, ****************************
10/07/19 15:25:54 v1.34.5 @ rigel, Starting factorization of 2387558269606450709622009990622002596238721211851386839362889832990611106360073
10/07/19 15:25:54 v1.34.5 @ rigel, using pretesting plan: normal
10/07/19 15:25:54 v1.34.5 @ rigel, no tune info: using qs/gnfs crossover of 95 digits
10/07/19 15:25:54 v1.34.5 @ rigel, ****************************
But yafu.ini in /home/chris/yafu definitely contains tune info for this system (the last line):
Code:
chris@rigel:~/yafu$ cat yafu.ini 
%B1pm1=100000
%B1pp1=20000
%B1ecm=11000
%rhomax=1000
threads=4
%pretest_ratio=0.25
%ggnfs_dir=..\ggnfs-bin\Win32\
ggnfs_dir=/home/chris/lasieve4_64/
ecm_path=/usr/bin/ecm
%ecm_path=..\gmp-ecm\bin\x64\Release\ecm.exe
%ecm_path=../ecm/current/ecm
tune_info=       Intel(R) Xeon(R) CPU E5-4650 0 @ 2.70GHz,LINUX64,1.73786e-05,0.200412,0.400046,0.0987873,98.8355,2699.98
tune_info=AMD Athlon(tm) II X2 240 Processor,LINUX64,1.29672e-05,0.208991,0.561878,0.0975652,95.8178,2800.02
tune_info=Intel(R) Core(TM) i5 CPU         650  @ 3.20GHz,LINUX64,1.51053e-05,0.203897,0.33923,0.101122,97.4879,3209.99
I managed to get round this by adding -ecm_path /usr/bin/ecm to the command. But it was rather confusing. It would help if yafu called with -v said whether it was reading yafu.ini or not.

Another point was that when I ran tune() the first time it spend a few minutes running QS, then aborted because it could not find the lattice siever. I had to run yafu 'tune()' in the same dir as the lattice siever to make tune work. It would have saved time if tune() checked if it can find the lattice siever *before* benchmarking QS.

Chris
chris2be8 is offline   Reply With Quote
Old 2019-10-16, 14:03   #2
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

22×941 Posts
Default

Thanks for the report - not something I test out very often. I've been pretty busy lately but will try to look into it soon.
bsquared is offline   Reply With Quote
Old 2019-10-16, 16:06   #3
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

22·941 Posts
Default

Fix checked into yafu-wip r379.

Behavior is now: If you specify -xover, that will be preferred over what is in tune_info, else if valid tune_info is found, use that xover, else use default xover (currently 95).
Oh, and I now check for sievers before starting any qs tuning, thanks for that suggestion.

Last fiddled with by bsquared on 2019-10-16 at 16:07
bsquared is offline   Reply With Quote
Old 2019-10-16, 16:18   #4
chris2be8
 
chris2be8's Avatar
 
Sep 2009

46258 Posts
Default

The tune info was just a side issue, the problem for me was that is was ignoring ecm_path in yafu.ini so ran ECM single threaded. And ignoring ggnfs_dir when running tune.

And a message saying whether it had found yafu.ini would have helped me work out what was going wrong.

But thanks for fixing tune to check for sievers first.

Chris
chris2be8 is offline   Reply With Quote
Old 2019-10-16, 16:23   #5
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

EB416 Posts
Default

It should not be ignoring yafu.ini... let me know if it still seems to be doing that (I forgot to include a message that yafu.ini was found, sorry).
bsquared is offline   Reply With Quote
Old 2019-10-17, 15:44   #6
chris2be8
 
chris2be8's Avatar
 
Sep 2009

11×223 Posts
Default

Hello,

I'm afraid I don't know if the latest version ignores yafu.ini. The only option to download anything I can find on http://sourceforge.net/projects/yafu/ just gives me yafu-1.34.zip which is exactly the same as the version I'm running. It's probably my slightly old web browser causing the problem, but trying Firefox ESR didn't work either.

I'm not too worried because I can get round the problem by passing yafu parms from my script.

Chris
chris2be8 is offline   Reply With Quote
Old 2019-10-17, 16:22   #7
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

376410 Posts
Default

Quote:
Originally Posted by chris2be8 View Post
Hello,

I'm afraid I don't know if the latest version ignores yafu.ini. The only option to download anything I can find on http://sourceforge.net/projects/yafu/ just gives me yafu-1.34.zip which is exactly the same as the version I'm running. It's probably my slightly old web browser causing the problem, but trying Firefox ESR didn't work either.

I'm not too worried because I can get round the problem by passing yafu parms from my script.

Chris
Everything I've been doing lately has been in the "wip" branch of the repository and will involve a build from source to use. If you are not accustomed to doing that, and if you already have a workaround, then that's probably easier.
bsquared is offline   Reply With Quote
Old 2022-01-20, 14:59   #8
BudgieJane
 
BudgieJane's Avatar
 
"Jane Sullivan"
Jan 2011
Beckenham, UK

337 Posts
Default

I don't know if this is the right place to put this, but I have been having a couple of instances of odd behaviour with regard to yafu finding yafu.ini which are worthy of notice.

To begin with, my yafu program is in C:\Users\Jane\Documents\Maths\yafu\Versions\yafu-2.07\yafu-x64.exe and yafu.ini in the same directory contains the following lines for ggnfs
Code:
%ggnfs_dir=..\..\..\ggnfs-x64\
ggnfs_dir=C:\Users\Jane\Documents\Maths\ggnfs-x64\
I also have a yafu.ini file in C:\Users\Jane\Documents\APLapps\Numbers, and the ggnfs entry in that file is this one only:
Code:
ggnfs_dir=..\..\Maths\ggnfs-x64\
Looking at docfile.txt I notice that it says
Code:
These same flags can be specified in a file named yafu.ini in the same
directory as the executable.
Now normally I run yafu by means of a syscmd issued by an application running in C:\Users\Jane\Documents\APLapps\Numbers, and to try to discover what was causing me trouble the other day I decided to run yafu from the command line in that directory:
Code:
 ..\..\Maths\yafu\Versions\yafu-2.07\yafu-x64 factor(19893371953449789754112768668082453895521044869721500349740173084074096716249047839111944539619046971725287) -forceDLP -v -v -v -noecm  -R -logfile io\yafulog.txt -of io\out02.txt >testop3.txt
It's a good thing I redirected the screen output to that file (testop3.txt) because normally that output flies past on the screen at the speed of light, and you can't see what's going on. In this file, I saw many times lines like the following:
Code:
syscmd: ..\..\Maths\ggnfs-x64\gnfs-lasieve4I12e.exe -v -f 1502000 -c 7000 -o rels0.dat -n 0 -a nfs.job
You will notice that the command begins with just 2 levels of ..\, not three or none, so the reference to ggnfs must have come from yafu.ini in C:\Users\Jane\Documents\APLapps\Numbers, i.e. where I called the program from and not from the yafu.ini in the same directory as the executable as stated in docfile.txt.

Hence my, and maybe other people's, confusion.

Would it be possible to put the full path to the yafu.ini file on the yafu log file in a future release?

Last fiddled with by BudgieJane on 2022-01-20 at 15:01
BudgieJane is offline   Reply With Quote
Old 2022-02-09, 18:11   #9
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

22·941 Posts
Default

Quote:
Originally Posted by BudgieJane View Post

Would it be possible to put the full path to the yafu.ini file on the yafu log file in a future release?
You are correct, it tries to parse yafu.ini from the directory where the command is run. I added the attempted parse location to session.log:

Code:
02/09/22 12:04:16, =====================================
02/09/22 12:04:16, System/Build Info: 
02/09/22 12:04:16, YAFU Version 2.08
02/09/22 12:04:16, Built with Microsoft Visual Studio  1922
02/09/22 12:04:16, Using GMP-ECM 7.0.4, Powered by MPIR 3.0.0
02/09/22 12:04:16, detected Intel(R) Xeon(R) Gold 5122 CPU @ 3.60GHz
detected L1 = 32768 bytes, L2 = 17301504 bytes, CL = 64 bytes
02/09/22 12:04:16, using 1 random witness for Rabin-Miller PRP checks
02/09/22 12:04:16, Cached 664579 primes: max prime is 9999991
02/09/22 12:04:16, Parsed yafu.ini from H:\src\c\yafu
bsquared is offline   Reply With Quote
Old 2022-02-17, 17:52   #10
BudgieJane
 
BudgieJane's Avatar
 
"Jane Sullivan"
Jan 2011
Beckenham, UK

337 Posts
Default

Quote:
Originally Posted by bsquared View Post
You are correct, it tries to parse yafu.ini from the directory where the command is run. I added the attempted parse location to session.log:

Code:
02/09/22 12:04:16, =====================================
02/09/22 12:04:16, System/Build Info: 
02/09/22 12:04:16, YAFU Version 2.08
02/09/22 12:04:16, Built with Microsoft Visual Studio  1922
02/09/22 12:04:16, Using GMP-ECM 7.0.4, Powered by MPIR 3.0.0
02/09/22 12:04:16, detected Intel(R) Xeon(R) Gold 5122 CPU @ 3.60GHz
detected L1 = 32768 bytes, L2 = 17301504 bytes, CL = 64 bytes
02/09/22 12:04:16, using 1 random witness for Rabin-Miller PRP checks
02/09/22 12:04:16, Cached 664579 primes: max prime is 9999991
02/09/22 12:04:16, Parsed yafu.ini from H:\src\c\yafu
Thank you.
BudgieJane is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Running YAFU via Aliqueit doesn't find yafu.ini EdH YAFU 8 2018-03-14 17:22
YAFU-1.34 bsquared YAFU 119 2015-11-05 16:24
Yafu bug. storflyt32 YAFU 2 2015-06-29 05:19
yafu-1.33 bsquared YAFU 12 2012-11-08 04:12
yafu-1.32.1 bsquared YAFU 21 2012-09-04 19:44

All times are UTC. The time now is 05:05.


Sun Jun 4 05:05:24 UTC 2023 up 290 days, 2:33, 0 users, load averages: 1.10, 1.10, 1.09

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.

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