View Single Post
Old 2019-10-07, 15:52   #1
chris2be8
 
chris2be8's Avatar
 
Sep 2009

5×389 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