mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Factoring

Reply
 
Thread Tools
Old 2018-03-24, 19:01   #23
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

67118 Posts
Default

Quote:
Originally Posted by chris2be8 View Post
Hello,

I've just remembered that I renamed the sievers from gnfs-lasieve4I1* to lasieve4I1* so the process table in the system monitor would show which siever was running (it truncated the longer name). So you either need to do that as well or update factMsieve.pl around line 190 to call the original names. Sorry for the omission.

It checks if it can find the sievers etc before checking what parms it's been passed. So just run it without parms to check if all the paths are correct.

It should only need the lattice sievers, def-par.txt and msieve to run, nothing else from ggnfs.

Chris
I've started looking over the scripts and modified factMsieve.pl back to the gnfs-lasieve* names as well as setting up my paths. Should I have a file called check_if_done.pl also?

In bash, I can use $USER within my paths to capture my login. Can I do something similar in perl? Perhaps some version of getlogin()?

bash:
Code:
/home/$USER/Math/etc
perl?:
Code:
/home/+getlogin()+/Math/etc
What do I invoke the scripts with? Do I use a name.n file or a list of numbers? Should I adjust helper ids within each script for all my helpers?

Sorry for all the questions, especially if I should know any of the answers...

Thanks...

Last fiddled with by EdH on 2018-03-24 at 19:02 Reason: Just 'cause...
EdH is offline   Reply With Quote
Old 2018-03-25, 16:02   #24
chris2be8
 
chris2be8's Avatar
 
Sep 2009

36658 Posts
Default

Quote:
Originally Posted by EdH View Post
Should I have a file called check_if_done.pl also?
That's to check if a number is already factored in factordb. I've attached it. Sorry for the omission.
Quote:
Originally Posted by EdH View Post
In bash, I can use $USER within my paths to capture my login. Can I do something similar in perl? Perhaps some version of getlogin()?

bash:
Code:
/home/$USER/Math/etc
perl?:
[code]
/home/+getlogin()+/Math/etc
{/code]
I'm not sure. I only had to set the paths in factMsieve.pl once, I just used a hard coded value so it would work from anywhere on my system.
Quote:
Originally Posted by EdH View Post
What do I invoke the scripts with? Do I use a name.n file or a list of numbers? Should I adjust helper ids within each script for all my helpers?
You need to adjust the helper IDs in the script to a different number for each helper. That's to ensure output filenames don't clash. The master doesn't have to know how many helpers there are though.

The way I use the scripts is to export a directory from the master system (with NFS or equivalent) and mount it on the helper systems. Then I put a .poly or .n file in there and start the scripts on each system in that directory without any parameters. Once they are all running I add another .poly or .n for the systems to pick up once they have finished with the last one. So on most of my systems they have been running for more than a year, doing numbers as I feed them in.

Chris
Attached Files
File Type: txt check_if_done.pl.txt (3.2 KB, 69 views)
chris2be8 is offline   Reply With Quote
Old 2018-03-25, 18:32   #25
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

3,529 Posts
Default

Thanks Chris,

I have 30+ machines, any of which I might like to use for a project, so I'm looking at separate factMsieve.pl instances for each if I use absolute addressing. Absolute addressing on every machine means I have to edit every copy. I might be able to use relative addressing and a single instance of factMsieve.pl placed in the mapped drive. In fact, thinking along this line, I might try it with my factmsieve.py system.

I was under the impression that factMsieve.pl and factmsieve.py divided up the sieving region based on the client number. If that is not the case, how do they keep from duplicating work?

Thanks,
Ed
EdH is offline   Reply With Quote
Old 2018-03-26, 15:59   #26
chris2be8
 
chris2be8's Avatar
 
Sep 2009

1,973 Posts
Default

Assuming all your systems run Linux then uncommenting the following line will help if they have different numbers of CPUs:
Code:
#my $NUM_CPUS=`grep '^processor' /proc/cpuinfo | wc -l`; chomp $NUM_CPUS;
Absolute paths could point to a shared drive with the programs on it. Or you could put the programs in the same place on each system. Or you could set $CHECK_BINARIES to 0 if the programs are in the normal search path (though it still needs a path to def-par.txt). I've not tested that though.

The factMsieve.pl I posted keeps from duplicating work by saving the last range in $NAME.lastQ0 (it uses a directory as a lock to serialize updates).

Chris
chris2be8 is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Base-6 speed for prime testing vs. base-2 jasong Conjectures 'R Us 36 2010-08-03 06:25
trial division over a factor base Peter Hackman Factoring 7 2009-10-26 18:27
Algebraic factor issues base 24 michaf Conjectures 'R Us 18 2008-05-21 10:08
GNFS - Factor Base Golem86 Factoring 11 2007-07-17 18:08
Quadratic Sieve - How large should the factor base be? hallstei Factoring 5 2005-04-19 11:58

All times are UTC. The time now is 06:07.

Sat Jan 16 06:07:32 UTC 2021 up 44 days, 2:18, 0 users, load averages: 2.41, 2.72, 2.65

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