In the announcement of Revision 5, the Gapcoin miner is described as “capable of using the Chinese Remainder Theorem to speed up mining with large shift”. Unfortunately, the announcement was unaccompanied by any indication of what level of shift was considered “large”, although some insight can be gained from the fact that the minimum shift level supported by the associated “crt files” was - and is - 64.
Tests are non-CRT vs. CRT mining over a selected range of --shift settings: 64, 96, 128, 179, 256, 512 and 768.
Except for shift 768, non-CRT tests used default settings for --sieve-size and --sieve-primes. For the CRT tests, 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 --shift.
Tests were run simultaneously to control for changes in difficulty that otherwise affect the results to a degree that thwarts comparison when tests are run serially.
Test notes
Choosing an appropriate value for --sieve-size proved to be something of a “black art”. At shift 179, it proved impossible to discover a value for --sieve-size which produced a gaplist that neither reached zero nor exceeded 9000. Selecting a value of 16382 resulted in a frequently-empty gaplist but selecting the minimum decrement of one less (16381) resulted in a gaplist size that approached 50000 at times.
A shift of 768 proved to be the highest shift setting possible to use with non-CRT mining. At any higher setting the miner-reported statistics become nonsensical - which can be taken as a useful proxy for “only use CRT at this shift setting”).
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.
std-f64-s33554397-i90000
| measure | pps | tps | gps |
|---|---|---|---|
| mean | 280837 | 99472 | 13148 |
| max | 354288 | 125605 | 16586 |
| min | 275451 | 97571 | 12896 |
| std | 10932 | 3872 | 511 |
crt-f64-i6490
| measure | pps | tps | gps | glst | bpc | l/s |
|---|---|---|---|---|---|---|
| mean | 517700 | 7187127 | 6884 | 2095 | 0.23 | 0.30 |
| max | 706107 | 14294784 | 9883 | 6671 | 0.47 | 0.67 |
| min | 463066 | 108904 | 6740 | 3 | 0.00 | 0.00 |
| std | 20342 | 4067984 | 300 | 1542 | 0.14 | 5.15 |
std-f96-s33554397-i90000
| measure | pps | tps | gps |
|---|---|---|---|
| mean | 150002 | 58421 | 7023 |
| max | 158244 | 61486 | 7408 |
| min | 149244 | 58156 | 6988 |
| std | 934 | 331 | 43 |
crt-f96-i12000
| measure | pps | tps | gps | glst | bpc | l/s |
|---|---|---|---|---|---|---|
| mean | 733254 | 5148324 | 3808 | 3008 | 0.32 | 0.79 |
| max | 878003 | 10191541 | 5664 | 13327 | 0.61 | 2.35 |
| min | 365175 | 61626 | 3755 | 12 | 0.00 | 0.00 |
| std | 43174 | 2948194 | 133 | 2696 | 0.18 | 20.23 |
std-f128-s33554397-i90000
| measure | pps | tps | gps |
|---|---|---|---|
| mean | 124207 | 53300 | 5868 |
| max | 132919 | 56941 | 6281 |
| min | 122889 | 52693 | 5805 |
| std | 1679 | 743 | 80 |
crt-f128-i14560
| measure | pps | tps | gps | glst | bpc | l/s |
|---|---|---|---|---|---|---|
| mean | 783223 | 6816976 | 3212 | 3116 | 0.43 | 0.97 |
| max | 878103 | 13460735 | 3827 | 10167 | 0.83 | 2.66 |
| min | 508530 | 84473 | 3160 | 11 | 0.00 | 0.00 |
| std | 38592 | 3887882 | 100 | 2491 | 0.25 | 24.83 |
std-f179-s33554397-i90000
| measure | pps | tps | gps |
|---|---|---|---|
| mean | 110018 | 53537 | 5203 |
| max | 142859 | 69938 | 6759 |
| min | 106573 | 51837 | 5039 |
| std | 5305 | 2607 | 252 |
crt-f179-i16381
| measure | pps | tps | gps | glst | bpc | l/s |
|---|---|---|---|---|---|---|
| mean | 1719581 | 11259653 | 2801 | 15803 | 0.95 | 5.64 |
| max | 2097464 | 21849802 | 3640 | 48129 | 1.89 | 13.22 |
| min | 1634362 | 176471 | 2715 | 936 | 0.01 | 0.34 |
| std | 40319 | 6237012 | 133 | 11759 | 0.55 | 88.32 |
std-f256-s33554397-i90000
| measure | pps | tps | gps |
|---|---|---|---|
| mean | 61600 | 35056 | 2894 |
| max | 78988 | 44501 | 3708 |
| min | 59878 | 33584 | 2810 |
| std | 2707 | 1496 | 127 |
crt-f256-i27250
| measure | pps | tps | gps | glst | bpc | l/s |
|---|---|---|---|---|---|---|
| mean | 2504918 | 8233398 | 1587 | 1799 | 1.19 | 1.13 |
| max | 3225400 | 16197158 | 2139 | 6084 | 2.32 | 2.84 |
| min | 2433006 | 110793 | 1533 | 4 | 0.01 | 0.00 |
| std | 119752 | 4568658 | 89 | 1400 | 0.67 | 15.71 |
std-f512-s33554397-i90000
| measure | pps | tps | gps |
|---|---|---|---|
| mean | 10748 | 9234 | 507 |
| max | 11115 | 9591 | 524 |
| min | 10683 | 9152 | 503 |
| std | 71 | 85 | 3 |
crt-f512-i130000
| measure | pps | tps | gps | glst | bpc | l/s |
|---|---|---|---|---|---|---|
| mean | 2338017 | 1642804 | 301 | 2369 | 1.22 | 7.87 |
| max | 3549117 | 3269947 | 318 | 5893 | 2.44 | 18.53 |
| min | 2173579 | 8416 | 299 | 38 | 0.01 | 0.13 |
| std | 97558 | 946970 | 3 | 1645 | 0.71 | 496.96 |
std-f768-s4800000-i640000
| measure | pps | tps | gps |
|---|---|---|---|
| mean | 3658 | 4255 | 172 |
| max | 4783 | 5329 | 224 |
| min | 3576 | 4177 | 168 |
| std | 141 | 128 | 7 |
crt-f768-i280000
| measure | pps | tps | gps | glst | bpc | l/s |
|---|---|---|---|---|---|---|
| mean | 2316789 | 607655 | 109 | 3146 | 1.16 | 28.98 |
| max | 3302115 | 1201411 | 127 | 8185 | 2.28 | 64.45 |
| min | 2243369 | 7539 | 107 | 46 | 0.01 | 0.43 |
| std | 119993 | 345476 | 2 | 2283 | 0.66 | 1022.23 |
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.
Replication:
gapminer -o localhost -p 31397 -u $USER -x $USERPASS -j 5 -e -f 64 -t 4
gapminer -o localhost -p 31397 -u $USER -x $USERPASS -j 5 -e -f 64 -i [as-discovered] -t 4 -d 3 -r crt/dist/crt-22m-0064s.txt