mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   YAFU (https://www.mersenneforum.org/forumdisplay.php?f=96)
-   -   I'm getting an error when yafu wants to start lattice sieving (https://www.mersenneforum.org/showthread.php?t=19968)

Hailstone 2015-01-08 03:43

I'm getting an error when yafu wants to start lattice sieving
 
Hi. I'm very new to yafu. Installed it two days ago.

When the program is done with sieving the first way (I think it's with SIQS. Not sure), it tries to start lattice sieving and puts out this ... I think it's an error.

hashtable: 1024 entries, 0.02 MB
elapsed time of 1055.2720 seconds exceeds 546 second deadline; poly select done
nfs: commencing algebraic side lattice sieving over range: 880000 - 890000
nfs: commencing algebraic side lattice sieving over range: 870000 - 880000
'..' is not recognized as an internal or external command,
operable program or batch file.
'..' is not recognized as an internal or external command,
operable program or batch file.
nfs: could not open output file, possibly bad path to siever
nfs: could not open output file, possibly bad path to siever
fopen error: No such file or directory
could not open rels0.dat for reading

Does anyone know what's going on? Is there a problem with yafu.ini?

Hailstone 2015-01-08 03:56

For reference, the following text is the entire contents of yafu.ini. It's still the default with minor modifications to rhomax and threads.

B1pm1=100000
B1pp1=20000
B1ecm=11000
rhomax=10000
threads=2
pretest_ratio=0.25
%ggnfs_dir=..\ggnfs-bin\Win32\
ggnfs_dir=../ggnfs-bin/
%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

Hailstone 2015-01-08 03:59

It happened again, but with a different number.

hashtable: 2048 entries, 0.03 MB
elapsed time of 1149.4966 seconds exceeds 835 second deadline; poly select done
nfs: commencing algebraic side lattice sieving over range: 1190000 - 1200000
nfs: commencing algebraic side lattice sieving over range: 1180000 - 1190000
'..' is not recognized as an internal or external command,
operable program or batch file.
'..' is not recognized as an internal or external command,
operable program or batch file.
nfs: could not open output file, possibly bad path to siever
nfs: could not open output file, possibly bad path to siever
fopen error: No such file or directory
could not open rels0.dat for reading

wombatman 2015-01-08 04:12

You probably need to modify the ggnfs_dir variable to point to the correct folder. Assuming you didn't change anything from Jeff Gilchrist's setup direction, you should put something like C:\ggnfs\ (or the correct drive/folder path). Also, once it's working, it's probably a good idea to run
[CODE]yafu "tune()"[/CODE]

This will run a series of tests and determine the best crossover values between QS/NFS for your particular system.

Hailstone 2015-01-08 04:26

I don't think Jeff did a tutorial on installing yafu; just factmsieve.

Should I change all the path variables? Just ggnfs_dir? Both ggnfs_dir and %ggnfs_dir?

Hailstone 2015-01-08 05:19

Ok changing the variables to

%ggnfs_dir=D:\Programming\ggnfs\Win32\
ggnfs_dir=D:/Programming/ggnfs/

worked!

I think the second one is the pertinent variable since I don't have a Win32 folder in that folder. More testing to follow.

Dubslow 2015-01-08 05:23

Yafu doesn't know where to find the gnfs-lasieve .exe's which are downloaded as part of Jeff's tutorial; you need only set ggnfs_dir to be the folder where all the gnfs-lasieve11e through gnfs-lasieve16e bexes are located.

wombatman 2015-01-08 05:38

The % basically comments that line out, so just change the one that doesn't have the % in front of it. You're probably going to want to get GMP-ECM as well to utilize YAFU fully. Once you do, you'll need to change ecm_path to wherever you put the ecm.exe file and remove the % from in front of it.

Edit: And I see in the time before I answered, you got it worked out.

LaurV 2015-01-08 05:52

Additional: use \ for subfolders for windoze, use / for linux.
Assuming you have a folder "factoring", in which you have two folders "yafu" and "ggnfs" then you have the yafu.ini in yafu folder, you have to write in yafu.ini a line like "ggnfs_dir=..\ggnfs"
The two dots (..\) means "out of the current folder" (the parent folder). One single dot (./) means the current folder (used in linux, but implicit in windoze).
I always use relative paths (in case the "factoring" folder is moved around, and this also avoids the long paths). If you use gmp-ecm, which is a third folder inside of the factoring folder, then you put "ecm_path=..\gmp-ecm" there too. Yafu uses its own (single thread) ecm for small ecm jobs, but a big speed gain (quadrupled, if four cores) is obtained for long ecm jobs when external (faster, multithread) ecm programs are used.

Try to make some "rules" for yourself about how you specify the paths. Assuming you work on aliquots, riesel, crus, whatever, you will have many folders in the factoring folder, and they all, if use yafu/msieve/ggnfs/etc will point to the same sieving files, etc. Easy maintenance, no need to duplicate too much stuff, easy to upgrade, move from one folder to another, or from one computer to another, etc. Always relative paths. If there is a folder "yafu" in "aliquots" which is in "factoring", and "ggnfs" is also in factoring, you can write "ggnfs_dir=..\..\ggnfs" in yafu.ini inside of the yafu folder.

edit: the reason to have two lines is that you can switch from linux to windows by commenting out the unwanted line. As said before, % in front means comment, it tell yafu basically "please ignore this line".

Hailstone 2015-01-08 06:44

Wow. Thanks for all the replies everyone. I think specifying the exact filepath worked for me, but I'll try a relative filepath with the next factoring job.

Is there any way to get yafu (or msieve, I'm not picky) to factor a list of numbers (one at a time). And does running multiple instances of either program mess things up for those instances? I'm trying to run home prime sequences base 12 and I have quite a few sequences to test.

EDIT: Looking at the results of factor( *C104* ) -R, I think running multiple instances breaks it. Oy.
Details of breaking: two instances trying to open rels0.dat at once

debrouxl 2015-01-08 07:03

Running the multiple instances from different folders (which may need to contain separate copies / hardlinks / symlinks of the executable and config files, I'm not sure) shall solve your woes :smile:


All times are UTC. The time now is 04:28.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.