Basic comparison test of CRT f=512 with t=4 and d as 1,2 & 3

CRT fermat threads test: -f 512 -t 4 -d 1 (-i 720000), 2 (-i 120000), 3 (-i 115000)

Comparison between reported performance of GapMiner on CRT mining at a shift of 512 with a varying number of threads devoted to Fermat tests of primality of the gap list contents, as described by j0nn9 in announcing Gapminer mining with the Chinese Remainder Theorem (CRT):

Mining with the CRT is split into sieve and primality testing using separate threads for each.

Setting the parameters --threads 4 --fermat-threads 1 means: use 3 sieve threads and 1 gap scan thread.

The scan threads always pick the most promising gap from the gaplist, therefore the gaplist value should always be at least over 100, but a too high gaplist value can slow down mining, (for example over 9000). You can alter --sieve-primes, --threads or --fermat-threads to achieve this.

Tests are of increasing values of --fermatthreads from 1 to 3 where total threads is 4. In order to keep the size of the gaplist within the recommended bounds, the value of --sieve-primes is adjusted according to the selected value of --fermat-threads.

(Advice posted to the bitcointalk thread recommends that the optimum value for -d is “the number of threads minus one”. See the “Focussed comparison test of CRT f=512” for confirmation of this recommendation.)


Column labels map directly to miner output: pps is average primes per second, tps is average tests per second, gps is average gaps per second, glst is the size of the gaplist and l/s is the time in seconds to scan the gaplist at the reported rate of gaps per second.

t4-d1-i720000-22m-crt0512

measureppstpsgpsglstbpcl/s
mean104068954117510636720.5934.50
max21450691065529130105441.1681.11
min99391055351051120.011.07
std104575308565227250.341147.38

t4-d2-i120000-22m-crt0512

measureppstpsgpsglstbpcl/s
mean2183195146349128518040.656.32
max3826268287400735455851.4915.78
min211994311716280100.010.04
std168763830941913750.40159.63

t4-d3-i115000-22m-crt0512

measureppstpsgpsglstbpcl/s
mean2232791145426228527551.299.65
max3600458284599034275812.5122.17
min2133573121102781020.010.37
std143957815918920800.72221.59

t4-d1-i13000-22m-crt0512

measureppstpsgpsglstbpcl/s
mean90440192297372596720.496970.83
max1123260183486447441460.9616912.41
min88244111483632990.0091.64
std300355219211945350.28204349.55

The charts included below are for completeness. The figures given are the means and they differ from the means in the above table because, in order to support the different requirements of charting, the first 1/5th of the data is ignored in order to aid visual comparison. The chartline uses the full dataset.

(The last-included chart: -t 4 -d1 -i 13000 -r 22m-crt0512, is something of a worst-case example and illustrates the penalty of selecting a highly sub-optimal value for --sieve-primes, 13000 in this instance, resulting in a large gap list taking a relatively long time to scan, reducing performance significantly.)

Your browser is now constructing the plots, it will take a few moments ...

Replication:

gapminer -o localhost -p 31397 -u $USER -x $USERPASS -e -j 5 -t 4 -d 1 -f 512 -i [as-discovered] -r crt/crt-22m-0512s.txt
gapminer -o localhost -p 31397 -u $USER -x $USERPASS -e -j 5 -t 4 -d 2 -f 512 -i [as-discovered] -r crt/crt-22m-0512s.txt
gapminer -o localhost -p 31397 -u $USER -x $USERPASS -e -j 5 -t 4 -d 3 -f 512 -i [as-discovered] -r crt/crt-22m-0512s.txt