Pages:
Author

Topic: SILENTARMY v5: Zcash miner, 115 sol/s on R9 Nano, 70 sol/s on GTX 1070 - page 69. (Read 209309 times)

sr. member
Activity: 406
Merit: 250
when the windows miner will be available?
sr. member
Activity: 430
Merit: 253
VeganAcademy
i got maybe 2% performance increase for RX480/RX470 GPU's.

stock bios, amdgpu-pro open source drivers
member
Activity: 67
Merit: 10
Any only cpu version available?
legendary
Activity: 1797
Merit: 1028
updates for windows version? I have 2x 1070 who want a little more power,
at this time 60 h / s to 2 x 1070

 Undecided Undecided

TRY KOPIEMTU 3.0--

You can keep your Windows and boot to a USB stick.  The "rig-on-a-stick" boots and mines.  You may have noticed that currently SilentArmy is Linux only.       --scryptr
hero member
Activity: 798
Merit: 1000
updates for windows version? I have 2x 1070 who want a little more power,
at this time 60 h / s to 2 x 1070

 Undecided Undecided
sr. member
Activity: 728
Merit: 304
Miner Developer
I was also wondering if anyone is currently working on a Windows binary.
I was to build one for myself, but I just don't want to duplicate somebody else's work...

Please go ahead and build please. Wasn't able so far to get it compile fully.

Alright, then. I really didn't want to deal with Cygwin again, but let's see what I can do...
legendary
Activity: 1797
Merit: 1028
Can anyone put together a binary on linux / windows for nvidia with the latest enhancements and cpu load fix?

KRNLX HAS GOOD NVIDIA CODE--

About 2 pages back, krnlx posted a package for nVidia linux miners.  Get it, extract the files, and change into the directory "silentarmy-nv".  When there, pull down eXTremal's 3 optimized mods.  They are posted a page or so back.  I simply used wget, and pasted each link, and the mods downloaded to the compile directory with the unmodded code.  Just execute "wget pasted.link", using the links posted by eXTremal.

Move the unmodded code into backups, i.e., "mv main.c main.c.old".  Copy the modded code to compilation code, i.e., "cp main.c.opt2  main.c".  Type "make".  and when the very short compile is done, you will have both "sa-solver" AND "libtime.so".  The "libtime.so" file produced by krnlx's code will allow nVidia cards to mine.  It is not produced by the main branch of mrb or nerdralph.

When done, you can mine with the "silentarmy" binary that is in krnlx's package.  The three eXTremal mods produce ~20% improvement in Sols/s on my GTX 960 cards.  They went from 18-20Sols/s to 24-25Sols/s.  These are stock 2GB EVGA GTX 960 SSC, and running at stock frequencies.

Similar steps taken with main branch code works on AMD cards.

I hope this is simple enough.       --scryptr
sr. member
Activity: 353
Merit: 251
I think I am ready to go back to linux rigs. Can I ask someone to add a simple feature to the python code?

I wish to port my open source cross-platform web based miner monitor for silentarmy. An example of it I already posted above:


It was written for Claymore's miner but currently supports only single request:

Code:
{"id":0,"jsonrpc":"2.0","method":"miner_getstat1"}
and expects some stats back (miner version, uptime in seconds, sol/s per card and total, total/rejected shares and temp:fan - not for now).

It should wait for TCP connection on some port (3333). On connection it should receive an RPC request (that may or may not be CZM-compatible), return data and disconnect (as CZM does). Written properly, more RPCs could be supported (restart, pool change, etc).

Unfortunately, I never used python for real and everything I write will not be optimal. I could also write an external script to parse output, but it also will not be cross-platform. So if anyone can add a feature of JSON RPC to the miner, I'd be happy to port the monitor for it. It is written in javascript and runs under nodejs (Windows, Linux, MacOS - all work as a host).
sr. member
Activity: 574
Merit: 250
Fighting mob law and inquisition in this forum
I was also wondering if anyone is currently working on a Windows binary.
I was to build one for myself, but I just don't want to duplicate somebody else's work...

Please go ahead and build please. Wasn't able so far to get it compile fully.
sr. member
Activity: 728
Merit: 304
Miner Developer
I was also wondering if anyone is currently working on a Windows binary.
I was to build one for myself, but I just don't want to duplicate somebody else's work...
legendary
Activity: 1068
Merit: 1020
Can anyone put together a binary on linux / windows for nvidia with the latest enhancements and cpu load fix?
sr. member
Activity: 353
Merit: 251
4 RX 470 stock with 59~65

RX470 Nitro+ 4GB Elpida (straps 1500, GPU @1260, Mem @2000):

Code:
Total 80.7 sol/s [dev0 78.8] 156 shares
Total 81.4 sol/s [dev0 80.4] 156 shares
Total 81.3 sol/s [dev0 81.0] 156 shares
Total 80.8 sol/s [dev0 80.1] 156 shares
Total 80.3 sol/s [dev0 80.3] 156 shares
Total 79.7 sol/s [dev0 80.4] 156 shares
Total 80.5 sol/s [dev0 80.1] 156 shares

WooHoo!!!
sr. member
Activity: 652
Merit: 266
Hi,

I'm  trying to get it running on a rented server with nvidia / cuda interface.

Compile worked and the Card ist detected fine:

Code:
./silentarmy --list
/home/ubuntu/silentarmy/sa-solver: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by /home/ubuntu/silentarmy/sa-solver)
Devices on platform "NVIDIA CUDA":
  ID 0: GRID K520

Afaik the solver works too:

Code:
./sa-solver --nonces=10
./sa-solver: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by ./sa-solver)
Solving default all-zero 140-byte header
Building program
Hash tables will use 805.3 MB
Running...
Nonce 0000000000000000000000000000000000000000000000000000000000000000: 2 sols
Nonce 0100000000000000000000000000000000000000000000000000000000000000: 0 sols
Nonce 0200000000000000000000000000000000000000000000000000000000000000: 2 sols
Nonce 0300000000000000000000000000000000000000000000000000000000000000: 3 sols
Nonce 0400000000000000000000000000000000000000000000000000000000000000: 2 sols
Nonce 0500000000000000000000000000000000000000000000000000000000000000: 2 sols
Nonce 0600000000000000000000000000000000000000000000000000000000000000: 4 sols
Nonce 0700000000000000000000000000000000000000000000000000000000000000: 0 sols
Nonce 0800000000000000000000000000000000000000000000000000000000000000: 2 sols
Nonce 0900000000000000000000000000000000000000000000000000000000000000: 3 sols
Total 20 solutions in 1295.1 ms (15.4 Sol/s)

But when I run the silentarmy miner to mine to the donation address I get no results. Here the debug:

Code:
./silentarmy --debug
Connecting to us1-zcash.flypool.org:3333
DEBUG:asyncio:Get address info us1-zcash.flypool.org:3333, type=
DEBUG:asyncio:execute program '/home/ubuntu/silentarmy/sa-solver' stdin= stdout=stderr=
DEBUG:asyncio:Getting address info us1-zcash.flypool.org:3333, type= took 3.891 ms: [(, , 6, '', ('192.99.160.185', 3333)), (, , 6, '', ('192.99.33.207', 3333))]
DEBUG:asyncio:process '/home/ubuntu/silentarmy/sa-solver' created: pid 5143
DEBUG:asyncio:execute program '/home/ubuntu/silentarmy/sa-solver' stdin= stdout=stderr=
DEBUG:asyncio:process '/home/ubuntu/silentarmy/sa-solver' created: pid 5144
DEBUG:asyncio:Write pipe 8 connected: (<_UnixWritePipeTransport fd=8 idle bufsize=0>, >)
DEBUG:asyncio:Write pipe 11 connected: (<_UnixWritePipeTransport fd=11 idle bufsize=0>, >)
DEBUG:asyncio:connect to ('192.99.160.185', 3333)
DEBUG:asyncio:Read pipe 9 connected: (<_UnixReadPipeTransport fd=9 polling>, >)
DEBUG:asyncio:Read pipe 12 connected: (<_UnixReadPipeTransport fd=12 polling>, >)
INFO:asyncio:execute program '/home/ubuntu/silentarmy/sa-solver': <_UnixSubprocessTransport pid=5143 stdin=<_UnixWritePipeTransport fd=8 idle bufsize=0> stdout=<_UnixReadPipeTransport fd=9 polling>>
INFO:asyncio:execute program '/home/ubuntu/silentarmy/sa-solver': <_UnixSubprocessTransport pid=5144 stdin=<_UnixWritePipeTransport fd=11 idle bufsize=0> stdout=<_UnixReadPipeTransport fd=12 polling>>
Solver 0.0: unexpected banner "/home/ubuntu/silentarmy/sa-solver: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by /home/ubuntu/silentarmy/sa-solver)"
Solver 0.1: unexpected banner "/home/ubuntu/silentarmy/sa-solver: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by /home/ubuntu/silentarmy/sa-solver)"
DEBUG:asyncio:poll 988.111 ms took 88.905 ms: 1 events
DEBUG:asyncio: connected to us1-zcash.flypool.org:3333: (<_SelectorSocketTransport fd=7 read=polling write=>, <__main__.StratumClientProtocol object at 0x7f608dfd46d8>)
DEBUG:asyncio:poll 897.845 ms took 91.545 ms: 1 events
DEBUG:asyncio:poll 806.066 ms took 91.326 ms: 1 events
DEBUG:asyncio:poll 714.309 ms took 29.139 ms: 2 events
INFO:asyncio:<_UnixReadPipeTransport fd=12 polling> was closed by peer
INFO:asyncio:<_UnixWritePipeTransport fd=11 idle bufsize=0> was closed by peer
DEBUG:asyncio:process 5144 exited with returncode -9
INFO:asyncio:<_UnixSubprocessTransport pid=5144 stdin=<_UnixWritePipeTransport closed fd=11 closed> stdout=<_UnixReadPipeTransport closed fd=12 closed>> exited with return code -9
DEBUG:asyncio:poll 683.046 ms took 3.013 ms: 2 events
INFO:asyncio:<_UnixReadPipeTransport fd=9 polling> was closed by peer
INFO:asyncio:<_UnixWritePipeTransport fd=8 idle bufsize=0> was closed by peer
DEBUG:asyncio:process 5143 exited with returncode -9
INFO:asyncio:<_UnixSubprocessTransport pid=5143 stdin=<_UnixWritePipeTransport closed fd=8 closed> stdout=<_UnixReadPipeTransport closed fd=9 closed>> exited with return code -9
DEBUG:asyncio:poll 999.894 ms took 283.771 ms: 1 events
Stratum server sent us the first job
Mining on 1 device
INFO:asyncio:poll 999.895 ms took 1001.125 ms: timeout
INFO:asyncio:poll 999.897 ms took 1001.133 ms: timeout
INFO:asyncio:poll 999.891 ms took 1001.123 ms: timeout
INFO:asyncio:poll 999.898 ms took 1001.127 ms: timeout
INFO:asyncio:poll 999.898 ms took 1001.161 ms: timeout
DEBUG:asyncio:poll 999.878 ms took 540.362 ms: 1 events
INFO:asyncio:poll 999.898 ms took 1001.124 ms: timeout
INFO:asyncio:poll 999.898 ms took 1001.118 ms: timeout
INFO:asyncio:poll 999.897 ms took 1001.123 ms: timeout
INFO:asyncio:poll 999.899 ms took 1001.134 ms: timeout
INFO:asyncio:poll 999.884 ms took 1001.140 ms: timeout
INFO:asyncio:poll 999.893 ms took 1001.125 ms: timeout
INFO:asyncio:poll 999.869 ms took 1001.123 ms: timeout
INFO:asyncio:poll 999.900 ms took 1001.121 ms: timeout
INFO:asyncio:poll 999.898 ms took 1001.114 ms: timeout
INFO:asyncio:poll 999.885 ms took 1001.124 ms: timeout
INFO:asyncio:poll 999.898 ms took 1001.127 ms: timeout
^C
Quitting

Anyone got a clue what's wrong here ?


Regards

Additional when I wait a bit longerI get these errors:

Code:
INFO:asyncio:poll 999.877 ms took 1001.122 ms: timeout
DEBUG:asyncio:poll 999.876 ms took 513.723 ms: 1 events
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.
INFO:asyncio:poll 999.870 ms took 1001.173 ms: timeout
INFO:asyncio:poll 999.864 ms took 1001.141 ms: timeout
INFO:asyncio:poll 999.876 ms took 1001.124 ms: timeout
INFO:asyncio:poll 999.870 ms took 1001.140 ms: timeout
INFO:asyncio:poll 999.871 ms took 1001.131 ms: timeout
DEBUG:asyncio:poll 999.879 ms took 283.388 ms: 1 events
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.
INFO:asyncio:poll 999.878 ms took 1001.149 ms: timeout
INFO:asyncio:poll 999.878 ms took 1001.126 ms: timeout
INFO:asyncio:poll 999.877 ms took 1001.122 ms: timeout
INFO:asyncio:poll 999.877 ms took 1001.123 ms: timeout
INFO:asyncio:poll 999.878 ms took 1001.127 ms: timeout
DEBUG:asyncio:poll 999.876 ms took 426.729 ms: 1 events
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.

Regards

https://github.com/mbevand/silentarmy/issues/63
newbie
Activity: 19
Merit: 0
If we were both working on closed-source miners, these improvements would've taken much longer, or may not have happened at all.

Two heads are better than one, the open source ...That's why I switched from windows to linux ubuntu for 8 years til now not only for mining but for my daily life... even if you are not an active coder like me but you have decent knowledge in programing you can help and give a hand to the community

Well if you are a good coder then you know most of the time two heads are not better than one.  It's only for complex problems that there is a multiplication effect.  For simple code where the optimal solution is already known, I'd use another old cliché: too many cooks spoil the broth.


 Grin that's why a leader is needed
hero member
Activity: 792
Merit: 501
Hi,

I'm  trying to get it running on a rented server with nvidia / cuda interface.

Compile worked and the Card ist detected fine:

Code:
./silentarmy --list
/home/ubuntu/silentarmy/sa-solver: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by /home/ubuntu/silentarmy/sa-solver)
Devices on platform "NVIDIA CUDA":
  ID 0: GRID K520

Afaik the solver works too:

Code:
./sa-solver --nonces=10
./sa-solver: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by ./sa-solver)
Solving default all-zero 140-byte header
Building program
Hash tables will use 805.3 MB
Running...
Nonce 0000000000000000000000000000000000000000000000000000000000000000: 2 sols
Nonce 0100000000000000000000000000000000000000000000000000000000000000: 0 sols
Nonce 0200000000000000000000000000000000000000000000000000000000000000: 2 sols
Nonce 0300000000000000000000000000000000000000000000000000000000000000: 3 sols
Nonce 0400000000000000000000000000000000000000000000000000000000000000: 2 sols
Nonce 0500000000000000000000000000000000000000000000000000000000000000: 2 sols
Nonce 0600000000000000000000000000000000000000000000000000000000000000: 4 sols
Nonce 0700000000000000000000000000000000000000000000000000000000000000: 0 sols
Nonce 0800000000000000000000000000000000000000000000000000000000000000: 2 sols
Nonce 0900000000000000000000000000000000000000000000000000000000000000: 3 sols
Total 20 solutions in 1295.1 ms (15.4 Sol/s)

But when I run the silentarmy miner to mine to the donation address I get no results. Here the debug:

Code:
./silentarmy --debug
Connecting to us1-zcash.flypool.org:3333
DEBUG:asyncio:Get address info us1-zcash.flypool.org:3333, type=
DEBUG:asyncio:execute program '/home/ubuntu/silentarmy/sa-solver' stdin= stdout=stderr=
DEBUG:asyncio:Getting address info us1-zcash.flypool.org:3333, type= took 3.891 ms: [(, , 6, '', ('192.99.160.185', 3333)), (, , 6, '', ('192.99.33.207', 3333))]
DEBUG:asyncio:process '/home/ubuntu/silentarmy/sa-solver' created: pid 5143
DEBUG:asyncio:execute program '/home/ubuntu/silentarmy/sa-solver' stdin= stdout=stderr=
DEBUG:asyncio:process '/home/ubuntu/silentarmy/sa-solver' created: pid 5144
DEBUG:asyncio:Write pipe 8 connected: (<_UnixWritePipeTransport fd=8 idle bufsize=0>, >)
DEBUG:asyncio:Write pipe 11 connected: (<_UnixWritePipeTransport fd=11 idle bufsize=0>, >)
DEBUG:asyncio:connect to ('192.99.160.185', 3333)
DEBUG:asyncio:Read pipe 9 connected: (<_UnixReadPipeTransport fd=9 polling>, >)
DEBUG:asyncio:Read pipe 12 connected: (<_UnixReadPipeTransport fd=12 polling>, >)
INFO:asyncio:execute program '/home/ubuntu/silentarmy/sa-solver': <_UnixSubprocessTransport pid=5143 stdin=<_UnixWritePipeTransport fd=8 idle bufsize=0> stdout=<_UnixReadPipeTransport fd=9 polling>>
INFO:asyncio:execute program '/home/ubuntu/silentarmy/sa-solver': <_UnixSubprocessTransport pid=5144 stdin=<_UnixWritePipeTransport fd=11 idle bufsize=0> stdout=<_UnixReadPipeTransport fd=12 polling>>
Solver 0.0: unexpected banner "/home/ubuntu/silentarmy/sa-solver: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by /home/ubuntu/silentarmy/sa-solver)"
Solver 0.1: unexpected banner "/home/ubuntu/silentarmy/sa-solver: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by /home/ubuntu/silentarmy/sa-solver)"
DEBUG:asyncio:poll 988.111 ms took 88.905 ms: 1 events
DEBUG:asyncio: connected to us1-zcash.flypool.org:3333: (<_SelectorSocketTransport fd=7 read=polling write=>, <__main__.StratumClientProtocol object at 0x7f608dfd46d8>)
DEBUG:asyncio:poll 897.845 ms took 91.545 ms: 1 events
DEBUG:asyncio:poll 806.066 ms took 91.326 ms: 1 events
DEBUG:asyncio:poll 714.309 ms took 29.139 ms: 2 events
INFO:asyncio:<_UnixReadPipeTransport fd=12 polling> was closed by peer
INFO:asyncio:<_UnixWritePipeTransport fd=11 idle bufsize=0> was closed by peer
DEBUG:asyncio:process 5144 exited with returncode -9
INFO:asyncio:<_UnixSubprocessTransport pid=5144 stdin=<_UnixWritePipeTransport closed fd=11 closed> stdout=<_UnixReadPipeTransport closed fd=12 closed>> exited with return code -9
DEBUG:asyncio:poll 683.046 ms took 3.013 ms: 2 events
INFO:asyncio:<_UnixReadPipeTransport fd=9 polling> was closed by peer
INFO:asyncio:<_UnixWritePipeTransport fd=8 idle bufsize=0> was closed by peer
DEBUG:asyncio:process 5143 exited with returncode -9
INFO:asyncio:<_UnixSubprocessTransport pid=5143 stdin=<_UnixWritePipeTransport closed fd=8 closed> stdout=<_UnixReadPipeTransport closed fd=9 closed>> exited with return code -9
DEBUG:asyncio:poll 999.894 ms took 283.771 ms: 1 events
Stratum server sent us the first job
Mining on 1 device
INFO:asyncio:poll 999.895 ms took 1001.125 ms: timeout
INFO:asyncio:poll 999.897 ms took 1001.133 ms: timeout
INFO:asyncio:poll 999.891 ms took 1001.123 ms: timeout
INFO:asyncio:poll 999.898 ms took 1001.127 ms: timeout
INFO:asyncio:poll 999.898 ms took 1001.161 ms: timeout
DEBUG:asyncio:poll 999.878 ms took 540.362 ms: 1 events
INFO:asyncio:poll 999.898 ms took 1001.124 ms: timeout
INFO:asyncio:poll 999.898 ms took 1001.118 ms: timeout
INFO:asyncio:poll 999.897 ms took 1001.123 ms: timeout
INFO:asyncio:poll 999.899 ms took 1001.134 ms: timeout
INFO:asyncio:poll 999.884 ms took 1001.140 ms: timeout
INFO:asyncio:poll 999.893 ms took 1001.125 ms: timeout
INFO:asyncio:poll 999.869 ms took 1001.123 ms: timeout
INFO:asyncio:poll 999.900 ms took 1001.121 ms: timeout
INFO:asyncio:poll 999.898 ms took 1001.114 ms: timeout
INFO:asyncio:poll 999.885 ms took 1001.124 ms: timeout
INFO:asyncio:poll 999.898 ms took 1001.127 ms: timeout
^C
Quitting

Anyone got a clue what's wrong here ?


Regards

Additional when I wait a bit longerI get these errors:

Code:
INFO:asyncio:poll 999.877 ms took 1001.122 ms: timeout
DEBUG:asyncio:poll 999.876 ms took 513.723 ms: 1 events
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.
INFO:asyncio:poll 999.870 ms took 1001.173 ms: timeout
INFO:asyncio:poll 999.864 ms took 1001.141 ms: timeout
INFO:asyncio:poll 999.876 ms took 1001.124 ms: timeout
INFO:asyncio:poll 999.870 ms took 1001.140 ms: timeout
INFO:asyncio:poll 999.871 ms took 1001.131 ms: timeout
DEBUG:asyncio:poll 999.879 ms took 283.388 ms: 1 events
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.
INFO:asyncio:poll 999.878 ms took 1001.149 ms: timeout
INFO:asyncio:poll 999.878 ms took 1001.126 ms: timeout
INFO:asyncio:poll 999.877 ms took 1001.122 ms: timeout
INFO:asyncio:poll 999.877 ms took 1001.123 ms: timeout
INFO:asyncio:poll 999.878 ms took 1001.127 ms: timeout
DEBUG:asyncio:poll 999.876 ms took 426.729 ms: 1 events
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.
WARNING:asyncio:pipe closed by peer or os.write(pipe, data) raised exception.

Regards
sr. member
Activity: 588
Merit: 251
If we were both working on closed-source miners, these improvements would've taken much longer, or may not have happened at all.

Two heads are better than one, the open source ...That's why I switched from windows to linux ubuntu for 8 years til now not only for mining but for my daily life... even if you are not an active coder like me but you have decent knowledge in programing you can help and give a hand to the community

Well if you are a good coder then you know most of the time two heads are not better than one.  It's only for complex problems that there is a multiplication effect.  For simple code where the optimal solution is already known, I'd use another old cliché: too many cooks spoil the broth.
sr. member
Activity: 588
Merit: 251
Another optimization idea I have is to improve the early removal of duplicates.  With the current code there are hundreds of collisions on the last 40 bits, when only an average of 2 of them are valid solutions.  The code does rudimentary duplicate pruning at each round by removing the (average of 2) collisions that zero on the next 20 bits.  Nothing is done to remove duplicates across multiple rounds.  For example on round 1 we could have the following collisions:
ab ac bc de fg
on round 2 we could have:
abde abfg
and then on round 3 we could have:
abdeabfg

But since 'a' is duplicated it is not valid.  Rather than waiting until the final round, I think dups from round n-2 could be pruned in addition to the basic n-1 pruning.  This could be done by storing a compressed index of the round n-2 indices.  With the count now in it's own table, that frees up the 32-bit counter space in each slot.  By removing padding from the slot data format, it would even be possible to store uncompressed indices.  I think the best solution would be to combine the compressed indexes with expand_refs when there is a near duplication on round n-2 indices.  16 bits can represent a group of 16 of the million (2^20) rows, so for 65535 out of every 65536 times we would know there is no duplicate on the n-2 indices.  For the 0.0015% of the time that there is a possible duplicate, expand_refs is run, and the collision is pruned if there are any dups.
newbie
Activity: 19
Merit: 0
I think the silentarmy improvements we are seeing are an example of open source development working well.  I've known for several days that the the atomic_inc in ht_store was a speed bottleneck.  I thought if all the counters were in their own table, it could improve L2 cache hit rate.  The table would be 4MB, which is still large compared to a 512KB L2 cache.  In my discussions with eXtremal, he had an idea for using a single uint for multiple counters by using atomic_add instead of atomic_inc.  The two ideas together (and eXtremal's fast coding) made the latest optimizations.

If we were both working on closed-source miners, these improvements would've taken much longer, or may not have happened at all.


Two heads are better than one, the open source ...That's why I switched from windows to linux ubuntu for 8 years til now not only for mining but for my daily life... even if you are not an active coder like me but you have decent knowledge in programing you can help and give a hand to the community
legendary
Activity: 1428
Merit: 1000
https://www.bitworks.io
I released a binary for those that are having a hard time merging/building.  Ubuntu 14.04/fglrx.
https://github.com/nerdralph/sa-nr/tree/master/releases


Submitted a pull request as well so it's ready to go.
newbie
Activity: 19
Merit: 0
With RX 470 boysie modded rom

from 70~80 sols

and  47~50 for sapphire r9 380 stock rom
 
Total 351.3 sol/s [dev0 77.7, dev1 77.2, dev2 47.8, dev3 73.3, dev4 75.4] 295 shares                               
Total 350.6 sol/s [dev0 76.9, dev1 76.6, dev2 48.7, dev3 76.2, dev4 75.7] 296 shares                               
Total 351.8 sol/s [dev0 78.6, dev1 78.4, dev2 50.9, dev3 77.9, dev4 74.0] 296 shares                               
Total 350.5 sol/s [dev0 76.3, dev1 79.7, dev2 49.0, dev3 77.9, dev4 74.1] 296 shares                               
Total 351.2 sol/s [dev0 72.3, dev1 78.0, dev2 50.2, dev3 78.0, dev4 75.2] 296 shares                               
Total 350.7 sol/s [dev0 71.6, dev1 74.7, dev2 48.6, dev3 74.3, dev4 75.7] 296 shares                               
Total 351.1 sol/s [dev0 77.1, dev1 71.4, dev2 50.8, dev3 74.4, dev4 73.1] 297 shares
Total 353.1 sol/s [dev0 80.0, dev1 73.6, dev2 50.7, dev3 72.1, dev4 77.1] 298 shares
Total 352.6 sol/s [dev0 79.4, dev1 75.0, dev2 50.5, dev3 74.2, dev4 79.2] 299 shares
Total 351.6 sol/s [dev0 78.7, dev1 74.2, dev2 50.7, dev3 75.3, dev4 77.8] 300 shares
Total 351.7 sol/s [dev0 75.0, dev1 76.5, dev2 52.8, dev3 74.6, dev4 78.1] 300 shares
Pages:
Jump to: