Pages:
Author

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

newbie
Activity: 36
Merit: 0
any body know how to set fanspeed gpu at ubuntu 16.40??
cause at sensor, speed just run max 30% with temperature 78-79C,
make throttling..
i try to modded bios, but not make change..
im appreciated for solutions...
legendary
Activity: 1400
Merit: 1000
there is a chance to add cuda support to this? speed is not good on nvidia, and with opencl, you only get high cpu usage, which is not ideal

also windows support would be better, since many here use windows


at the moment, windows users can use "genoil zecminer" and coinsforall windows softwares, who feature silentarmy...


https://github.com/Genoil/ZECMiner/tree/master/releases
https://bitcointalksearch.org/topic/open-source-zec-zcash-gpu-miner-amd-nvidia-up-to-45-sols-on-rx480-1660023
legendary
Activity: 3248
Merit: 1070
there is a chance to add cuda support to this? speed is not good on nvidia, and with opencl, you only get high cpu usage, which is not ideal

also windows support would be better, since many here use windows
newbie
Activity: 1
Merit: 0
Silentarmy compiled without errors but when running I get

Connecting to eu1-zcash.flypool.org:3333
Stratum server sent us the first job
Mining on 5 devices
Stratum: invalid msg from server: type object 'bytes' has no attribute 'hex': {'method': 'mining.notify', 'id': 0, 'params': ['9357f5ac3b7cde47996f', '04000000', '152e2ebe2f52e46c9a88d2b9759e30c321e34891ef49aa7bafab930500000000', 'e16d1c6a08bd3b5e226906ab9cd5f62d25fc916e79b913d70968fd88b0e06e85', '0000000000000000000000000000000000000000000000000000000000000000', '9aa21d58', '8e1e031d', True]}

Am I missing something here???

Thanks
sr. member
Activity: 340
Merit: 251
Smell the glove.
I have been trying to get the install to work using the instructions as I am fairly new to Ubuntu.  I read the aarticle below that says I can't install the newest drivers on 16.04.  What are my options.  Do I somehow downgrade to 14.04 or use what is default to Ubuntu?  Will that affect my performance hashing?

http://askubuntu.com/questions/765616/amd-r9-280x-drivers-for-ubuntu-16-04

fglrx is no longer supported on 16.04. AMD discontinued support for its Linux driver, and it isn't compatible (you will break your installation if you attempt to install fglrx on 16.04).

For now, you have to stick with the open source drivers. AMD may be releasing a proprietary driver for Linux that works with 16.04, but it probably won't support very many cards.

Here's a comparison of how the default drivers on 16.04 compare to fglrx on 14.04, if you want to take a look:

http://www.phoronix.com/scan.php?page=article&item=ubuntu-1604-amd&num=1




I've not noticed much of a difference with hashrates - the review you linked is "canned" performance metrics.

There is a pretty good tutorial on his GitHub https://github.com/mbevand/silentarmy
specifically for Ubuntu 16.04. I've found minimal hashrate drops for supported cards (I had 390s and (1) 390X), compared with fglrx.
My 480s do ~40sols each with one-third the heat and power consumption - pretty good trade-off IMHO.

So are you saying just skip the amd driver inatall and use the stock ubuntu 16.04 drivers for my 280x cards and there is not much difference in hash rates or downgrade to 14.04 is best you think so I can use the amd drivers?

I'd follow the guide using amdgpu-pro (16.40 from AMD's site) and Ubuntu 16.04 with the stock kernel.
You'd have to flash the BIOS' to overclock anyway.

You probably know this, but, fglrx is an abstraction layer - I think amdgpu-pro is a "direct" kernel module.
sr. member
Activity: 340
Merit: 251
Smell the glove.
edit: After more testing I'd say the speed improvement is more like 15%.

Good work, you da-man....
Gonna share? Pull-request?
newbie
Activity: 29
Merit: 0
I have been trying to get the install to work using the instructions as I am fairly new to Ubuntu.  I read the aarticle below that says I can't install the newest drivers on 16.04.  What are my options.  Do I somehow downgrade to 14.04 or use what is default to Ubuntu?  Will that affect my performance hashing?

http://askubuntu.com/questions/765616/amd-r9-280x-drivers-for-ubuntu-16-04

fglrx is no longer supported on 16.04. AMD discontinued support for its Linux driver, and it isn't compatible (you will break your installation if you attempt to install fglrx on 16.04).

For now, you have to stick with the open source drivers. AMD may be releasing a proprietary driver for Linux that works with 16.04, but it probably won't support very many cards.

Here's a comparison of how the default drivers on 16.04 compare to fglrx on 14.04, if you want to take a look:

http://www.phoronix.com/scan.php?page=article&item=ubuntu-1604-amd&num=1




I've not noticed much of a difference with hashrates - the review you linked is "canned" performance metrics.

There is a pretty good tutorial on his GitHub https://github.com/mbevand/silentarmy
specifically for Ubuntu 16.04. I've found minimal hashrate drops for supported cards (I had 390s and (1) 390X), compared with fglrx.
My 480s do ~40sols each with one-third the heat and power consumption - pretty good trade-off IMHO.

So are you saying just skip the amd driver inatall and use the stock ubuntu 16.04 drivers for my 280x cards and there is not much difference in hash rates or downgrade to 14.04 is best you think so I can use the amd drivers?
sr. member
Activity: 588
Merit: 251
I decided to do some more optimization before posting this, and it turns out I'm right.  I removed all the code I could determine to be unneeded with 2^20 bins, and now I'm getting a ~10% speed improvement.  160/s with 3x R9 380 4GB and 2x R7 370 2GB:

Code:
Total 160.7 sol/s [dev0 34.8, dev1 29.0, dev2 28.8, dev3 32.8, dev4 36.5] 5 shares
Total 160.9 sol/s [dev0 34.9, dev1 29.5, dev2 28.9, dev3 32.1, dev4 36.3] 5 shares

edit: After more testing I'd say the speed improvement is more like 15%.

Any chance this kernel will run on my 5970s? They have 1GB each....
I could reduce the kernel size, can't I? eh?

I'm running 2 instances on 2GB cards, so you could run a single instance on a 1GB card.
sr. member
Activity: 340
Merit: 251
Smell the glove.
I do not see any performance degradations caused by my code supporting other NR_ROWS_LOG values (I have tried implementing only 20). Because all the non-20 cases are #ifdef'd out of the code. Plus the OpenCL compiler is very good at removing loops such as the for-loop in equihash_round() that becomes useless with 20.

This surprises me.  I'll do some testing to confirm, but I don't think the the compiler will optimize away all the code that is useless with 2^20 bins.

So far it looks like you are right.  I #ifdef'd out the first_words code, and the generated isa was the same size.  That means it is smart enough to optimize away the assignment on line 533 when mask=0;
https://github.com/mbevand/silentarmy/blob/master/input.cl#L533

I decided to do some more optimization before posting this, and it turns out I'm right.  I removed all the code I could determine to be unneeded with 2^20 bins, and now I'm getting a ~10% speed improvement.  160/s with 3x R9 380 4GB and 2x R7 370 2GB:

Code:
Total 160.7 sol/s [dev0 34.8, dev1 29.0, dev2 28.8, dev3 32.8, dev4 36.5] 5 shares
Total 160.9 sol/s [dev0 34.9, dev1 29.5, dev2 28.9, dev3 32.1, dev4 36.3] 5 shares

edit: After more testing I'd say the speed improvement is more like 15%.

Any chance this kernel will run on my 5970s? They have 1GB each....
I could reduce the kernel size, can't I? eh?
sr. member
Activity: 340
Merit: 251
Smell the glove.
I have been trying to get the install to work using the instructions as I am fairly new to Ubuntu.  I read the aarticle below that says I can't install the newest drivers on 16.04.  What are my options.  Do I somehow downgrade to 14.04 or use what is default to Ubuntu?  Will that affect my performance hashing?

http://askubuntu.com/questions/765616/amd-r9-280x-drivers-for-ubuntu-16-04

fglrx is no longer supported on 16.04. AMD discontinued support for its Linux driver, and it isn't compatible (you will break your installation if you attempt to install fglrx on 16.04).

For now, you have to stick with the open source drivers. AMD may be releasing a proprietary driver for Linux that works with 16.04, but it probably won't support very many cards.

Here's a comparison of how the default drivers on 16.04 compare to fglrx on 14.04, if you want to take a look:

http://www.phoronix.com/scan.php?page=article&item=ubuntu-1604-amd&num=1




I've not noticed much of a difference with hashrates - the review you linked is "canned" performance metrics.

There is a pretty good tutorial on his GitHub https://github.com/mbevand/silentarmy
specifically for Ubuntu 16.04. I've found minimal hashrate drops for supported cards (I had 390s and (1) 390X), compared with fglrx.
My 480s do ~40sols each with one-third the heat and power consumption - pretty good trade-off IMHO.
newbie
Activity: 29
Merit: 0
I have been trying to get the install to work using the instructions as I am fairly new to Ubuntu.  I read the aarticle below that says I can't install the newest drivers on 16.04.  What are my options.  Do I somehow downgrade to 14.04 or use what is default to Ubuntu?  Will that affect my performance hashing?  I am using 5x R9 280x.

http://askubuntu.com/questions/765616/amd-r9-280x-drivers-for-ubuntu-16-04

fglrx is no longer supported on 16.04. AMD discontinued support for its Linux driver, and it isn't compatible (you will break your installation if you attempt to install fglrx on 16.04).

For now, you have to stick with the open source drivers. AMD may be releasing a proprietary driver for Linux that works with 16.04, but it probably won't support very many cards.

Here's a comparison of how the default drivers on 16.04 compare to fglrx on 14.04, if you want to take a look:

http://www.phoronix.com/scan.php?page=article&item=ubuntu-1604-amd&num=1


sr. member
Activity: 291
Merit: 250
just run separate instances with the --use command of device you intend to mine.

./silentarmy --list spells out which device is what for you.

thank you  ... that is one way yes Smiley)
sr. member
Activity: 430
Merit: 253
VeganAcademy
just run separate instances with the --use command of device you intend to mine.

./silentarmy --list spells out which device is what for you.
sr. member
Activity: 291
Merit: 250
is it possible to assign different instances to different cards?

btw, im running 1 390x with 3 instances and getting

Code:
Total 43.7 sol/s [dev1 45.3] 132 shares
Total 44.2 sol/s [dev1 45.3] 132 shares
Total 44.3 sol/s [dev1 46.5] 132 shares
Total 45.0 sol/s [dev1 47.1] 132 shares

waiting for a new mb tomorrow to add another rx470
sr. member
Activity: 588
Merit: 251
I do not see any performance degradations caused by my code supporting other NR_ROWS_LOG values (I have tried implementing only 20). Because all the non-20 cases are #ifdef'd out of the code. Plus the OpenCL compiler is very good at removing loops such as the for-loop in equihash_round() that becomes useless with 20.

This surprises me.  I'll do some testing to confirm, but I don't think the the compiler will optimize away all the code that is useless with 2^20 bins.

So far it looks like you are right.  I #ifdef'd out the first_words code, and the generated isa was the same size.  That means it is smart enough to optimize away the assignment on line 533 when mask=0;
https://github.com/mbevand/silentarmy/blob/master/input.cl#L533

I decided to do some more optimization before posting this, and it turns out I'm right.  I removed all the code I could determine to be unneeded with 2^20 bins, and now I'm getting a ~10% speed improvement.  160/s with 3x R9 380 4GB and 2x R7 370 2GB:

Code:
Total 160.7 sol/s [dev0 34.8, dev1 29.0, dev2 28.8, dev3 32.8, dev4 36.5] 5 shares
Total 160.9 sol/s [dev0 34.9, dev1 29.5, dev2 28.9, dev3 32.1, dev4 36.3] 5 shares

edit: After more testing I'd say the speed improvement is more like 15%.
sr. member
Activity: 588
Merit: 251
I do not see any performance degradations caused by my code supporting other NR_ROWS_LOG values (I have tried implementing only 20). Because all the non-20 cases are #ifdef'd out of the code. Plus the OpenCL compiler is very good at removing loops such as the for-loop in equihash_round() that becomes useless with 20.

This surprises me.  I'll do some testing to confirm, but I don't think the the compiler will optimize away all the code that is useless with 2^20 bins.
legendary
Activity: 1050
Merit: 1293
Huh?
Should I install Ubuntu 16.04 dektop or the other one with black screen ?

The desktop edition works fine. Personally I install the server edition ("black screen") because my system is headless and I admin it over SSH. The README.md file documents exactly the steps to install the drivers and SDK.


That out of the way, I know you need to create a file basically lika a config.txt equivalent for it to trigger this.  I have tried and just don't know how.  It takes me back when I was learning DOS and Qbasic, omg 25 years ago.  I guess my question is how do you get this miner to run?  I have created the file and #!/bin/bash but after that I just don't know what to put in it.  Thanks and I apologize for the ignorance.

You can just put this in the bash script:

Code:
#!/bin/bash
/path-to-the-silentarmy-directory/silentarmy -c stratum+tcp://your.pool.here:1234 -u your-address-here -p password

And to fix your "make" issue, run "sudo apt-get install build-essential libsodium-dev" as described in README.md. This will install "make" and other required dependencies.


I think the vast majority (>95%) of miners have cards with at least 2GB RAM.  The kernel I designed (and only implemented a bit of prototype code) is quite similar to yours, but only supporting 2^20 sorting bins (or rows).  My design has 2 tables like yours (I consider it to be like double-buffering), but I hadn't thought of dividing the saved indexes between the two tables so they could fit in 28 bytes and leaving 4 bytes for the collision counter.
I did see the change of OVERHEAD from 13 to 9, but I hadn't noticed the counter reset at the end of the round.
https://github.com/mbevand/silentarmy/blob/master/input.cl#L568

Since you say you have to support options other than 2^20 rows, I'll probably fork your code and optimize it for 2^20.  I think it should give another 10% performance boost.  I also think even more performance can be attained by optimizing for the 256-byte stride size of the Polaris, Tonga, and Pitcairn GPUs.  Despite your comment in the code about odd values of OVERHEAD being best  for avoiding channel conflicts, I had found 12 was faster than 13 in my testing on Tonga and Pitcairn.

I do not see any performance degradations caused by my code supporting other NR_ROWS_LOG values (I have tried implementing only 20). Because all the non-20 cases are #ifdef'd out of the code. Plus the OpenCL compiler is very good at removing loops such as the for-loop in equihash_round() that becomes useless with 20.

Tweaking OVERHEAD might gain you a few % here and there. I must say I chose the OVERHEAD value for best performance on R9 Nano and RX 480, but yes I expect the ideal value to be slightly different on different GPUs. If you find a much better value on some GPUs, let me know Smiley


I am using ubuntu 14.04 on my 4GPU rig (3x radeon 280x and 1 270)
when I silenarmy it stucks, so I had to add config option to use only 1 instance. Now its running fine and it makes total 67 sols. I do not know if that is good.
When I look at gpu utilisation on atitweak, O see utilization is low. why?
[...]

This sounds like a hardware issue. Check your risers, overclocking, overheating, power supply, etc. And atitweak is wrong about utilization being zero. 67 sol/s is what I would expect with your GPUs and --instance 1.


Hi, using ubuntu 14.04 + amd gpu pro 16.30 on 6-card-rig (stable on ethereum + claymore) rig I have 0.0 (zero) sols after few minutes of mining. Hardware is Asrock H97 anniversary + RX470 refs.
[...]
If stop and restart miner threads could not been initialized, so I need to reboot. I am using zec.nanopool.org
Here is dmesg output: http://pastebin.com/fg5ZEiai

Ditto: hardware issues.


In case others come across the issue with python.

This script needs python 3.5+, in order to run it you can either apt-get the latest python version.

In my case, on ubuntu 14.04 i had to run it from the python 3.5+ binary because it wouldn't run with an older version.
So i just run it like so : /usr/bin/python3.5 silentarmy --list

Smiley
legendary
Activity: 2174
Merit: 1401
@mrb

Keep getting this error with your miner:
Code:
Task exception was never retrieved
future: exception=KeyError('1.0',)>
Traceback (most recent call last):
  File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
    result = coro.send(None)
  File "./silentarmy", line 228, in show_stats
    rate_gpus = sorted(gpus(last_sols, last_times, period_gpu))
  File "./silentarmy", line 193, in gpus
    sols[devid] = last_sols[0][devid] - last_sols[idx][devid]
KeyError: '1.0'
sr. member
Activity: 430
Merit: 253
VeganAcademy
one gripe.. cpu miner is 50% slower than other miners on my old quad core cpu..

otherwise pretty happy with this..
jr. member
Activity: 41
Merit: 10
Hello guys! I have been interested on mining with Ubuntu for a long time and now I think its the best time to do it... The problem is: I though it was going to be easier that what it really is...

So far I am having 2 issues, I have been trying to make this work for over 5 hours but i think I am still far from doing my first sol...

I am using Ubuntu 16.04 and got stuck in the 8th step:   Install system-wide by running as root (accept all the default options): $ sudo ./AMD-APP-SDK-v3.0.130.136-GA-linux64.sh



Also, how do I compile silentarmy? I already tried that line: $ make and look what i got...




Pages:
Jump to: