mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Aliquot Sequences (https://www.mersenneforum.org/forumdisplay.php?f=90)
-   -   Aliqueit.exe discussion (https://www.mersenneforum.org/showthread.php?t=11618)

Antonio 2013-09-20 15:24

I am having a problem sending results to factordb.

This is on Windows 7 64 bit and Aliqueit version 1.12

Using Aliqueit 146272 -s 0 results in the following messages: -

.
[CODE]
.
.
sending 25 lines
wget: unrecognised option '--post-file=aliqueit_tmp_post_146272'

[/CODE]

wget is part of UnixUtils, downloaded within the last week from sourceforge.net, should I be using Cygwin?

mklasson 2013-09-21 08:13

[QUOTE=Antonio;353598]I am having a problem sending results to factordb.

This is on Windows 7 64 bit and Aliqueit version 1.12

Using Aliqueit 146272 -s 0 results in the following messages: -

.
[CODE]
.
.
sending 25 lines
wget: unrecognised option '--post-file=aliqueit_tmp_post_146272'

[/CODE]

wget is part of UnixUtils, downloaded within the last week from sourceforge.net, should I be using Cygwin?[/QUOTE]

Looks like the version of wget in UnxUtils is really old. You could try [url]http://gnuwin32.sourceforge.net/packages/wget.htm[/url] or [url]http://users.ugent.be/~bpuype/wget/[/url] instead.

Antonio 2013-09-21 10:02

[QUOTE=mklasson;353687]Looks like the version of wget in UnxUtils is really old. You could try [URL]http://gnuwin32.sourceforge.net/packages/wget.htm[/URL] or [URL]http://users.ugent.be/~bpuype/wget/[/URL] instead.[/QUOTE]

Thanks a lot, gnuwin32 version worked.

gd_barnes 2013-09-30 04:40

After many trials and tribulations, I finally got ggnfs to work along with aliqueit.exe. I'm now excited to do some meaningful contributions to the project off and on.

I am running Windows 7 on a 2.6 Ghz I7. With 8 multi-threaded cores that effectively "act like" the speed of about 5-6 "non-multi-threaded" cores on a quad, for the first time I can now extensively multi-thread the sequences. (Not sure if I'm wording that correctly.)

Using all of the great instructions here, I've figured out how to make the ggnfs and yafu steps run on multiple cores. My question is: While running aliqueit.exe, is there a way to make the ECM step run on multiple cores? It's the only thing that is slowing me down right now.

Thanks!


Gary

kar_bon 2013-09-30 09:51

[QUOTE=gd_barnes;354565]My question is: While running aliqueit.exe, is there a way to make the ECM step run on multiple cores? It's the only thing that is slowing me down right now.[/QUOTE]

Running yafu is enough:

- put the line "yafu_cmd = yafu.exe" into aliqueit.ini (yafu.exe in the same dir as ali)
- put the lines
threads=8
ecm_path=ecm.exe (ecm.exe in the same dir as ali)
in the yafu.ini and it runs well.

henryzz 2013-09-30 10:43

I seem to remember than some people use ecm.py along with aliqueit. Either that or get yafu to do the threading for you.

gd_barnes 2013-09-30 10:55

[QUOTE=kar_bon;354577]Running yafu is enough:

- put the line "yafu_cmd = yafu.exe" into aliqueit.ini (yafu.exe in the same dir as ali)
- put the lines
threads=8
ecm_path=ecm.exe (ecm.exe in the same dir as ali)
in the yafu.ini and it runs well.[/QUOTE]

I had all of those things already in there except for ecm_path=ecm.exe in the yafu.ini file. I changed that and it made no difference. The ECM step still runs on one CPU.

I also tried commenting out the ecm_cmd line in aliqueit.ini (thinking that it might be over-riding the ecm_path line in the yafu.ini file) and it made no difference.

Yafu.exe and ecm.exe are in the same folder as aliqueit.ini and yafu.ini.

Here is some cut-and-pastes to see if you can identify the problem:

yafu.ini:
[code]
B1pm1=100000
B1pp1=20000
B1ecm=11000
rhomax=1000
threads=4
pretest_ratio=0.25
%ggnfs_dir=..\ggnfs-bin\Win32\
ggnfs_dir=../ggnfs-bin/
ecm_path=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
[/code]

aliqueit.ini:
[code]
//Use yafu before msieve?
//prefer_yafu = false
prefer_yafu = true

//Name (and path, if needed) of your gmp-ecm executable.
ecm_cmd = ecm

//Name (and path, if needed) of your ecm.py executable.
ecmpy_cmd = python.exe ecm.py

//Name (and path, if needed) of your yafu executable.
yafu_cmd = yafu.exe

//Name (and path, if needed) of your msieve executable.
msieve_cmd = c:\users\gary\Prime\aliqueitc\msieve

//Name (and path, if needed) of your ggnfs executable.
ggnfs_cmd = c:\cygwin64\bin\perl.exe "c:\users\gary\Prime\GGNFSb\factMsieve.pl"
[/code]

Perhaps what I am asking for can't be done. YAFU and GGNFS will both run on multiple cores. ECM will not.

Thanks for your help.


Gary

LaurV 2013-09-30 11:05

I did not read all the discussion, so sorry if I repeat something or say something stupid or unrelated!

Can't you launch the aliqueit with -y switch and let yafu do the ECM? I was doing this forever, and it always was multi-threaded... Long ago I found that if you mix them (i.e. use the ecm called directly by ali) then you may end up doing too much ecm, therefore loosing time. Since ali supports -y switch, I always let yafu do the (multithreaded) ecm. Of course, you need to have the right settings to yafu.ini (pointing to gmp-ecm executable) and keep in mind that the multi-threaded, external, fast, gmp-ecm is called only for reasonable high B1 (like >250K, if I recall it right), otherwise the overload takes longer, therefore the "small" ecm is done by single-threaded-internals of yafu, which is faster.

You have to use ali with "-y" switch to let yafu play its steak... Also, you have to have a line like "prefer_yafu=true" in the aliqueit.ini, to forget the ali ecm. I had a doc somewhere...

edit: example of yafu.ini:
[code]
B1pm1=100000
B1pp1=20000
B1ecm=11000
rhomax=1000
threads=8
%threads=4
%plan=light
%plan=deep
plan=custom
pretest_ratio=0.33
R=1
ggnfs_dir=..\ggnfs\
ecm_path=..\gmp_ecm\ecm.exe
tune_info= blah blah blah more tune lines
[/code]the "..\name\" is because I like to keep them in separate folders. The folders contain the complete distributions of ggnfs, respective gmp-ecm, which you will need for a nice/fast/smooth/multithreaded yafu run.

aliqueit.ini is almost the same as yours (the differences are not related to this problem).

edit 2: for the "pretest ratio" to work, you must have "plan custom" in yafu ini, otherwise the default ratios are used (for plan lite, normal, deep, etc). the lines starting with percent are comments, skipped by yafu exe

kar_bon 2013-09-30 11:54

[QUOTE=gd_barnes;354583]
Yafu.exe and ecm.exe are in the same folder as aliqueit.ini and yafu.ini.

Here is some cut-and-pastes to see if you can identify the problem:
[/QUOTE]

I forgot to mention ecm.py in that dir, too.
So, if the file.extension 'py' is locked with 'python.exe' you only need the line
ecmpy_cmd = ecm.py
in the aliqueit.ini to run.

PS:
The ecm.py contains these lines then:
[code]
# Set binary directory paths
ECM_PATH = ''

# default number of ecm threads to launch
# can be overidden on the command line with -threads N
ECM_THREADS = 8
[/code]

gd_barnes 2013-09-30 12:43

[QUOTE=kar_bon;354588]I forgot to mention ecm.py in that dir, too.
So, if the file.extension 'py' is locked with 'python.exe' you only need the line
ecmpy_cmd = ecm.py
in the aliqueit.ini to run.

PS:
The ecm.py contains these lines then:
[code]
# Set binary directory paths
ECM_PATH = ''

# default number of ecm threads to launch
# can be overidden on the command line with -threads N
ECM_THREADS = 8
[/code][/QUOTE]

I still can't get it to work. It still just shows one core running. Argh!

What do you mean by:

[quote]
"if the file.extension 'py' is locked with 'python.exe'
[/quote]

I don't understand the use of the word "locked".

I now have the following in the same directory:
aliqueit.exe, aliqueit.ini, ecm.exe, ecm.py, yafu.exe, and yafu.ini

Ecm.py has the exact verbiage that you stated.

Here is aliqueit.ini:
[code]
//Use yafu before msieve?
//prefer_yafu = false
prefer_yafu = true

//Name (and path, if needed) of your gmp-ecm executable.
ecm_cmd = ecm

//Name (and path, if needed) of your ecm.py executable.
ecmpy_cmd = ecm.py

//Name (and path, if needed) of your yafu executable.
yafu_cmd = yafu.exe

//Name (and path, if needed) of your msieve executable.
msieve_cmd = c:\users\gary\Prime\aliqueitc\msieve

//Name (and path, if needed) of your ggnfs executable.
ggnfs_cmd = c:\cygwin64\bin\perl.exe "c:\users\gary\Prime\GGNFSb\factMsieve.pl"
[/code]

[Note that I removed "python.exe" from the ecmpy_cmd line like you implied.]

Does python.exe need to be somewhere? I don't recall seeing it anywhere in all of the downloads that I did. If I need python in my directory, please tell me where I can get it.

Also, what about this setting in aliqueit.exe?:
[code]
//Use ecm.py (for easy ecm multithreading) instead of regular ecm?
use_ecmpy = false
[/code]

Should that be set to true or false? The default is false. I tried it both ways. It didn't work at all as true. It "acted" like it was running the curves but it wasn't because it completed real fast (like < 1 min. for a c112).

It's amazing how confusing all of this stuff is.

gd_barnes 2013-09-30 12:52

OK, never mind Karsten. I set everything in aliqueit.ini back to the way it was originally and ran it with the -y switch as LaurV suggested.

It worked! 4 threads running ECM now. :smile:

Now, I have another problem. Yafu seems to "hard code" the qs/gnfs crossover at 95 digits. I've found it more effective at 100 digits so that is what I have it set to in aliqueit.ini.

The problem is Yafu over-rides the crossover in aliqueit.ini. So I'm guessing that there is a command that I need to put in yafu.ini to change the crossover. Can someone enlighten me?

Thank you LaurV and Karsten for your help!


All times are UTC. The time now is 09:57.

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