Newer Older
1 2 3 4 5 6 7 8 9 10
The cadofactor Python script is generally run with

./ parameterfile

All the parameters for the factorization are read from the parameter file,
but it is possible to specify such parameters on the command line, after

For example, running

./ ../../params/params.c59 N=90377629292003121684002147101760858109247336549001090677693 tasks.workdir=/tmp/c59 tasks.execpath=$HOME/build/cado-nfs/normal server.whitelist=
12 13 14 15 16

start the cadofactor script, which also starts the server. It does not start any clients with this command line, so those would have to be started manually:

./ --server=

17 18
where the --server parameter should be given the URL of the server, as printed by the cadofactor script.
You can start an arbitrary number of client scripts, on any machines that can connect to the server via HTTP.
19 20 21

If you want to let the server automatically start clients, you need to supply a list of hostnames on which to start clients, e.g.,

./ ../../params/params.c59 N=90377629292003121684002147101760858109247336549001090677693 tasks.workdir=/tmp/c59 tasks.execpath=$HOME/build/cado-nfs/normal slaves.hostnames=localhost slaves.nrclients=2 slaves.scriptpath=$HOME/git/cado-nfs/scripts/cadofactor

to let it start two clients on localhost. The scriptpath parameter must be the path to the directory on the client machine which contains (and
25 26

27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
Legacy parameter names with --old

With the --old command line option, the script will translate parameter
files written for the Perl script. It will still accept parameters in the
new format, both in the file and on the command line.

For example, the two command lines above may be written instead as:

./ --old ../../params/params.c59 n=90377629292003121684002147101760858109247336549001090677693 wdir=/tmp/c59 bindir=$HOME/build/cado-nfs/normal

./ --old ../../params/params.c59 n=90377629292003121684002147101760858109247336549001090677693 wdir=/tmp/c59 bindir=$HOME/build/cado-nfs/normal slaves.hostnames=localhost slaves.nrclients=2 slaves.scriptpath=$HOME/git/cado-nfs/scripts/cadofactor

For complex set-ups, it is preferable to write a parameter file in the new format. Some examples are in "parameters", "parameters.oar", and "parameters.rsa512.oar".
42 43 44 45 46 47 48 49 50 51 52 53 54 55

The .oar parameter files are meant for cadofactor scripts that run *inside* an OAR submission, as they read the list of slave hostnames from the OAR node file.

For example,

oarsub -I
./ parameters.oar

factors the usual c59 test number using the nodes reserved via OAR, in this case one node.
The parameters.oar file contains the line
slaves.catrel.nrclients = 8
which tells the script to launch 8 clients on each unique host name (=node); the parameter
causes all the programs to use two threads, resulting in 16 threads per node.
56 57 58 59 60 61 62 63 64 65 66

Importing a polynomial file

If you want to import a polynomial file (either a SNFS polynomial, or
polynomial selection was already done), use:


where xxx.poly is the name of the polynomial file (in CADO-NFS format).

67 68 69 70 71 72
By default this will consider this polynomial in addition to those found during
the polynomial selection. If you want to avoid polynomial selection, also add:


73 74 75 76 77 78 79 80 81 82 83 84 85
Importing relations

If you want to import already computed relations, use:


where "foo" is the name of the relation file to be imported (in CADO-NFS
format). Alternatively you can do:


where "foo" is a file containing several names of relation files, one per line.