mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Aliquot Sequences

Reply
 
Thread Tools
Old 2020-06-13, 02:45   #551
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

2·7·239 Posts
Default

Has anyone set up Aliqueit to run with CADO-NFS. I'm wondering what it would take to get Aliqueit to cal CADO-NFS and then retrieve the output. On the surface, calling CADO-NFS seems like it would be as easy as setting it up in place of the python factmsieve.py command in the ini file, but what do I need to do to get factors to wherever Aliqueit needs them?
EdH is offline   Reply With Quote
Old 2020-06-14, 11:04   #552
Happy5214
 
Happy5214's Avatar
 
"Alexander"
Nov 2008
The Alamo City

37510 Posts
Default

Sorry if this has already been asked, but search results in this thread came up empty. I've noticed that there is usually some text between the index (and period) and the size of the term. For example (slashes added for emphasis, not in original output),

474 ./dri/ c93 = 272064992876569765238441800088815624784511500622385077350533234435038071738086645929009045256 = 2^3 * 61 * 103 * 1409 * 59791 * 1250126889191 * 51394271027722113012134825993322716382859153578863912204223015241451 : Decreased!

Sometimes, it says "run". If the index is longer or shorter, the extra text is clipped or expanded as appropriate (the "dri" above fills out at "t dri" if the index is single-digit). I can't find anywhere in the code that would print something like that out, so I'm wondering what it means.
Happy5214 is offline   Reply With Quote
Old 2020-06-14, 12:55   #553
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

2×7×239 Posts
Default

Quote:
Originally Posted by Happy5214 View Post
Sorry if this has already been asked, but search results in this thread came up empty. I've noticed that there is usually some text between the index (and period) and the size of the term. For example (slashes added for emphasis, not in original output),

474 ./dri/ c93 = 272064992876569765238441800088815624784511500622385077350533234435038071738086645929009045256 = 2^3 * 61 * 103 * 1409 * 59791 * 1250126889191 * 51394271027722113012134825993322716382859153578863912204223015241451 : Decreased!

Sometimes, it says "run". If the index is longer or shorter, the extra text is clipped or expanded as appropriate (the "dri" above fills out at "t dri" if the index is single-digit). I can't find anywhere in the code that would print something like that out, so I'm wondering what it means.
It's been a while since I figured that out, but IIRC, that's actually some leftover text that doesn't get overwritten when the line is displayed. I think the line number and something else is sitting in a buffer and the subsequent text is supposed to backspace over a portion to add the rest of the line, but it doesn't backspace far enough. Way back when I had studied it, I adjusted something in a way that it put spaces instead of the letters. If I get a chance, I'll look at it again and see if I can remember specifics.
EdH is offline   Reply With Quote
Old 2020-06-14, 13:17   #554
RichD
 
RichD's Avatar
 
Sep 2008
Kansas

3×1,031 Posts
Default

One possibility is explained here. I'm guessing the "dri" is from some "driver" phrase that is left-over.
RichD is offline   Reply With Quote
Old 2020-06-14, 14:12   #555
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

1101000100102 Posts
Default

If you send the output to a file, you will find that there are other lines written between the ones that are seen on the screen. Portions of those extra lines are "showing through" the screen output. If you look across varying length indices, you'll see how of the extra lines are covered by the indices and periods:
Code:
435 .     c20 = 79223442157494803532 = . . . : Guide: 2^2 with 3
next driver: Guide: 2^2 with 3
436 .     c21 = 153346662716872852500 =. . .: Guide: 2^2 with 3
next driver: Guide: 2^2 with 3
c9: running qs (yafu)...                                         
437 .     c21 = 439727730840033804588 =. .  . Guide: 2^2 with 3
next driver: Driver: 2^2 * 7
438 .     c21 = 792521953339282513620 =. . .: Driver: 2^2 * 7
If you comment out (line 1119 in my copy):
Code:
                cout << "next driver: " << driver << "\r";
it will remove all of the dri/ri ones. The others are from various "running" messages (like the "running qs" shown above). You could simply add spaces within those messages to cover the portions that would "show through."
EdH is offline   Reply With Quote
Old 2020-06-14, 15:54   #556
Happy5214
 
Happy5214's Avatar
 
"Alexander"
Nov 2008
The Alamo City

3·53 Posts
Default

That must be it. I'll add those spaces and recompile.
Happy5214 is offline   Reply With Quote
Old 2020-06-14, 16:45   #557
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

64228 Posts
Default

Quote:
Originally Posted by EdH View Post
Has anyone set up Aliqueit to run with CADO-NFS. I'm wondering what it would take to get Aliqueit to cal CADO-NFS and then retrieve the output. On the surface, calling CADO-NFS seems like it would be as easy as setting it up in place of the python factmsieve.py command in the ini file, but what do I need to do to get factors to wherever Aliqueit needs them?
I have been able to get Aliqueit to use CADO-NFS by writing a script and using it to replace python call to factmsieve.py (or perl call to factMsieve.pl) in the aliqueit.ini file. Basically the script grabs the composite, runs CADO-NFS and then translates the factors into a ggnfs.log file in the manner the others would have generated. When the script returns control to Aliqueit, Aliqueit finds the factors where it expects and continues on. I hope to provide more details in one of my "How I . . ." pages at a later time.
EdH is offline   Reply With Quote
Old 2020-06-14, 16:48   #558
VBCurtis
 
VBCurtis's Avatar
 
"Curtis"
Feb 2005
Riverside, CA

103378 Posts
Default

Quote:
Originally Posted by EdH View Post
I have been able to get Aliqueit to use CADO-NFS by writing a script and using it to replace python call to factmsieve.py (or perl call to factMsieve.pl) in the aliqueit.ini file. Basically the script grabs the composite, runs CADO-NFS and then translates the factors into a ggnfs.log file in the manner the others would have generated. When the script returns control to Aliqueit, Aliqueit finds the factors where it expects and continues on. I hope to provide more details in one of my "How I . . ." pages at a later time.
I'll be using this once you write it up. Nice work!
VBCurtis is offline   Reply With Quote
Old 2020-06-14, 17:00   #559
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

2×7×239 Posts
Default Aliqueit Compilation Troubles with GMP 6.2.0

I am having trouble compiling Aliqueit from source on machines which have been upgraded to GMP 6.2.0. I'm wondering if this is similar to the trouble B2 corrected in msieve to rid YAFU of segmentation faults as described near the end of my How I install YAFU onto my Ubuntu Machines page.

Here is the error I show when trying to compile Aliqueit:
Code:
/usr/include/c++/7/bits/stl_vector.h:953:7: note:   no known conversion for argument 1 from \u2018std::pair<std::__cxx11::basic_string<char>, int>\u2019 to \u2018std::vector<std::pair<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, int> >::value_type&& {aka std::pair<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, int>&&}\u2019
aliqueit.cc:766:42: error: no matching function for call to \u2018std::vector<std::pair<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, int> >::push_back(std::pair<std::__cxx11::basic_string<char>, int>)\u2019
     factors.push_back( make_pair( s, 1 ) );
                                          ^
In file included from /usr/include/c++/7/vector:64:0,
                 from aliqueit.cc:10:
A version of Aliqueit compiled on a machine with GMP 6.1.2 appears to run fine on my machines with GMP 6.2.0 installed, it just won't compile on such machine.
EdH is offline   Reply With Quote
Old 2020-07-01, 21:04   #560
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

2·7·239 Posts
Default Aliqueit ECM stepping

Aliqueit uses a table for ECM values that starts out as this:
74 curves @ 11000
214 curves @ 50000
430 curves @ 250000
904 curves @ 1000000
. . .
Working on a single index, if it finds a factor using ECM, e.g. @ B1=1M, if the cofactor is still composite, it starts to work on the cofactor back at the beginning of the ECM table. Wouldn't it be more efficient to continue where ECM left off? IOW, if an original c157 was factored to become a c135 cofactor, wouldn't any small factors have been accounted for by the previous small B1 values?

Since I'm already editing the code for other reasons, I'm just wondering if I should even attempt changing the ECM to pick up where it left off, or if I'm missing something. I do realize extra curves don't really detract too much other than a small amount of time and there might even be a small chance of success, but when we're trying to reach for every optimization, would this be something of possible significance?
EdH is offline   Reply With Quote
Old 2020-07-01, 21:37   #561
RichD
 
RichD's Avatar
 
Sep 2008
Kansas

3×1,031 Posts
Default

This thread should answer your question.
RichD is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Resuming aliqueit johnadam74 Aliquot Sequences 4 2016-03-28 12:32
Apparent aliqueit issue with specifying factors pakaran Aliquot Sequences 2 2015-09-12 23:10
Using Several Instances of Aliqueit for a large gnfs job EdH Aliquot Sequences 6 2011-12-13 18:58
Setting up aliqueit science_man_88 Aliquot Sequences 185 2011-11-08 12:18
Tried out aliqueit.exe: ggnfs failing Greebley Aliquot Sequences 35 2010-02-13 15:23

All times are UTC. The time now is 12:23.

Thu Sep 24 12:23:18 UTC 2020 up 14 days, 9:34, 0 users, load averages: 1.07, 1.56, 1.74

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, 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.