Thread: gcwsieve
View Single Post
Old 2007-04-18, 05:21   #6
geoff's Avatar
Mar 2003
New Zealand

13·89 Posts

Originally Posted by em99010pepe View Post
1º hidden mode
If you create a file called `gcwsieve-command-line.txt' with one line consisting of the command line you want to use, then run gcwsieve without any command line arguments, it will read that file run as if you had typed the first line at the console. Does this help?

2º have the ability to queue up jobs
I will add a work file facility sometime soon.

3º save it's progress on an output file
You can do this by creating a copy of the input file, call it sieve.txt say, change the number on the first line to <pmin>, then run `gcwsieve -i sieve.txt -o sieve.txt -f factors.txt -s<minutes_between_saves> -P<pmax>...'. If you stop and restart with exactly the same command line each time, it will continue from the last save point.

By the way, gcwsieve 1.0.4 is faster than gcwsieve 1.0.6 on my AMD 64 but I still need to make more tests.
This is interesting :-) There are two changes between 1.0.4 and 1.0.6 that might affect peformance:

The 1.0.6 SSE2 code processes 4 terms at a time instead of 2 at a time in 1.0.4. The idea behind this code was to overcome the long Pentium 4 pipeline and it does run a lot faster on my P4, but it is possible that this code is slower on the AMD64 -- it would be interesting if that is the case. You could test this by running both versions with the --no-sse2 switch and see if 1.0.6 is still slower.

In 1.0.6 the AMD cache size detection has (hopefully) been fixed. You can run using the old settings from version 1.0.4 by adding the command line switches -l16 -L256. If you are running multiple instances of the program on a n-core machine then it might be faster to set the L2 cache size to 1/n of its actual size. The L1 cache size probably doesn't have much effect.

Let me know what the results of your experiments are.
geoff is offline