Coder Social home page Coder Social logo

silentarmy's People

Contributors

cncr04s avatar klardotsh avatar mbevand avatar mtausig avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

silentarmy's Issues

crash sa-solver

1 gpu. After running for 5 seconds - 1 minute falls 1 of 2 sa-solver.
I noticed that falls if there is memory overclocking frequency (even minimal).

apport.log:
ERROR: apport (pid 1693) Mon Nov 7 01:36:25 2016: called for pid 1689, signal 11, core limit 0
ERROR: apport (pid 1693) Mon Nov 7 01:36:25 2016: executable: /usr/local/silentarmy3/sa-solver (command line "/usr/local/silentarmy3/sa-solver --mining --use 0")
ERROR: apport (pid 1693) Mon Nov 7 01:36:25 2016: executable does not belong to a package, ignoring

kern.log
Nov 7 01:36:25 SrvRig1 kernel: [ 1043.356060] sa-solver[1689]: segfault at 7fff94bcbec0 ip 0000000000403f15 sp 00007fff840d08a0 error 4 in sa-solver[400000+13000]

OS: Ubuntu server 16.04 LTS
Driver: Amdgpu-pro 16.40.5
GPU: Powercolor Rx470 4GB Red Devil

UPD.
Checked on the Ubuntu server 16.10 (kernel 4.8) falls with the same errors.

sa-solver clEnqueueNDRangeKernel (-4) error

I'm running ubuntu 16.04 with a working opencl device from clinfo shows:

Number of platforms 1
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA Corporation
Platform Version OpenCL 1.2 CUDA 8.0.46
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_copy_opts
Platform Extensions function suffix NV

Platform Name NVIDIA CUDA
Number of devices 1
Device Name NVS 5400M
Device Vendor NVIDIA Corporation
Device Vendor ID 0x10de
Device Version OpenCL 1.1 CUDA
Driver Version 367.57
Device OpenCL C Version OpenCL C 1.1
Device Type GPU
Device Profile FULL_PROFILE
Device Topology (NV) PCI-E, 01:00.0
Max compute units 2
Max clock frequency 950MHz
Compute Capability (NV) 2.1
Max work item dimensions 3
Max work item sizes 1024x1024x64
Max work group size 1024
Preferred work group size multiple 32
Warp size (NV) 32
Preferred / native vector sizes
char 1 / 1
short 1 / 1
int 1 / 1
long 1 / 1
half 0 / 0 (n/a)
float 1 / 1
double 1 / 1 (cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Address bits 64, Little-Endian
Global memory size 1004929024 (958.4MiB)
Error Correction support No
Max memory allocation 251232256 (239.6MiB)
Unified memory for Host and Device No
Integrated memory (NV) No
Minimum alignment for any data type 128 bytes
Alignment of base address 4096 bits (512 bytes)
Global Memory cache type Read/Write
Global Memory cache size 32768
Global Memory cache line 128 bytes
Image support Yes
Max number of samplers per kernel 16
Max 2D image size 16384x16384 pixels
Max 3D image size 2048x2048x2048 pixels
Max number of read image args 128
Max number of write image args 8
Local memory type Local
Local memory size 49152 (48KiB)
Registers per block (NV) 32768
Max constant buffer size 65536 (64KiB)
Max number of constant args 9
Max size of kernel argument 4352 (4.25KiB)
Queue properties
Out-of-order execution Yes
Profiling Yes
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Kernel execution timeout (NV) Yes
Concurrent copy and kernel execution (NV) Yes
Number of async copy engines 1
Device Available Yes
Compiler Available Yes
Device Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_copy_opts

NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) No platform
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) No platform
clCreateContext(NULL, ...) [default] No platform
clCreateContext(NULL, ...) [other] Success [NV]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No platform

But sa-solver refuse to start:

./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 1208.0 MB
Running...
clEnqueueNDRangeKernel (-4)

Any idea what could cause this?

asyncio:poll timeout

I'm trying to make your program working on my rig, but whatever pool I use, I got the same error :
INFO:asyncio:poll 999.780 ms took 1001.049 ms: timeout

For debug purpose :

./silentarmy --debug
Connecting to us1-zcash.flypool.org:3333
DEBUG:asyncio:Get address info us1-zcash.flypool.org:3333, type=<SocketKind.SOCK_STREAM: 1>
DEBUG:asyncio:execute program '/home/eric/sources-gpu/AMD/silentarmy/sa-solver' stdin= stdout=stderr=
DEBUG:asyncio:process '/home/eric/sources-gpu/AMD/silentarmy/sa-solver' created: pid 4469
DEBUG:asyncio:execute program '/home/eric/sources-gpu/AMD/silentarmy/sa-solver' stdin= stdout=stderr=
DEBUG:asyncio:process '/home/eric/sources-gpu/AMD/silentarmy/sa-solver' created: pid 4470
DEBUG:asyncio:Write pipe 9 connected: (<_UnixWritePipeTransport fd=9 idle bufsize=0>, <WriteSubprocessPipeProto fd=0 pipe=<_UnixWritePipeTransport fd=9 idle bufsize=0>>)
DEBUG:asyncio:Write pipe 11 connected: (<_UnixWritePipeTransport fd=11 idle bufsize=0>, <WriteSubprocessPipeProto fd=0 pipe=<_UnixWritePipeTransport fd=11 idle bufsize=0>>)
DEBUG:asyncio:Read pipe 10 connected: (<_UnixReadPipeTransport fd=10 polling>, <ReadSubprocessPipeProto fd=1 pipe=<_UnixReadPipeTransport fd=10 polling>>)
DEBUG:asyncio:Read pipe 12 connected: (<_UnixReadPipeTransport fd=12 polling>, <ReadSubprocessPipeProto fd=1 pipe=<_UnixReadPipeTransport fd=12 polling>>)
INFO:asyncio:execute program '/home/eric/sources-gpu/AMD/silentarmy/sa-solver': <_UnixSubprocessTransport pid=4469 running stdin=<_UnixWritePipeTransport fd=9 idle bufsize=0> stdout=<_UnixReadPipeTransport fd=10 polling>>
INFO:asyncio:execute program '/home/eric/sources-gpu/AMD/silentarmy/sa-solver': <_UnixSubprocessTransport pid=4470 running stdin=<_UnixWritePipeTransport fd=11 idle bufsize=0> stdout=<_UnixReadPipeTransport fd=12 polling>>
Solver 0.0: unexpected banner "/home/eric/sources-gpu/AMD/silentarmy/sa-solver: /usr/local/cuda/lib64/libOpenCL.so.1: no version information available (required by /home/eric/sources-gpu/AMD/silentarmy/sa-solver)"
Solver 0.1: unexpected banner "/home/eric/sources-gpu/AMD/silentarmy/sa-solver: /usr/local/cuda/lib64/libOpenCL.so.1: no version information available (required by /home/eric/sources-gpu/AMD/silentarmy/sa-solver)"
DEBUG:asyncio:poll 973.718 ms took 0.496 ms: 2 events
INFO:asyncio:<_UnixReadPipeTransport fd=10 polling> was closed by peer
INFO:asyncio:<_UnixWritePipeTransport fd=9 idle bufsize=0> was closed by peer
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 4469 exited with returncode -9
DEBUG:asyncio:process 4470 exited with returncode -9
INFO:asyncio:<_UnixSubprocessTransport pid=4469 running stdin=<_UnixWritePipeTransport closed fd=9 closed> stdout=<_UnixReadPipeTransport closed fd=10 closed>> exited with return code -9
INFO:asyncio:<_UnixSubprocessTransport pid=4470 running stdin=<_UnixWritePipeTransport closed fd=11 closed> stdout=<_UnixReadPipeTransport closed fd=12 closed>> exited with return code -9
DEBUG:asyncio:Getting address info us1-zcash.flypool.org:3333, type=<SocketKind.SOCK_STREAM: 1> took 93.538 ms: [(<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('192.99.33.207', 3333)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('192.99.160.185', 3333))]
DEBUG:asyncio:poll 969.593 ms took 63.355 ms: 1 events
DEBUG:asyncio:connect <socket.socket fd=7, family=AddressFamily.AF_INET, type=2049, proto=6, laddr=('0.0.0.0', 0)> to ('192.99.33.207', 3333)
DEBUG:asyncio:poll 904.838 ms took 118.574 ms: 1 events
DEBUG:asyncio:<socket.socket fd=7, family=AddressFamily.AF_INET, type=2049, proto=6, laddr=('192.168.0.14', 48550), raddr=('192.99.33.207', 3333)> connected to us1-zcash.flypool.org:3333: (<_SelectorSocketTransport fd=7 read=polling write=<idle, bufsize=0>>, <main.StratumClientProtocol object at 0x7fc10c953a20>)
DEBUG:asyncio:poll 783.716 ms took 118.271 ms: 1 events
DEBUG:asyncio:poll 664.939 ms took 119.218 ms: 1 events
DEBUG:asyncio:poll 999.786 ms took 452.297 ms: 1 events
Stratum server sent us the first job
Mining on 1 device
INFO:asyncio:poll 999.780 ms took 1001.049 ms: timeout
INFO:asyncio:poll 999.784 ms took 1001.073 ms: timeout
INFO:asyncio:poll 999.776 ms took 1001.052 ms: timeout
INFO:asyncio:poll 999.767 ms took 1001.053 ms: timeout

Significantly lower hashrate @#4

Sorry to write such thing about this great miner, but I try to compile new version #4 and it gives me only 4sols a card while #3 gives me 30..
I do not know why..

Miner does not work on lower-end AM3 CPUs (Sempron, Athlon)

A lot of miners have 5+ GPU and 6+ GPU AM3 boards (970, 990) chipset boards. They use Semprons and Althons for these boards.

Using multithreading on 5+ GPU rigs, the system load spikes to over 5, and in some cases to over 10. This results in reduced hashrate on GPUs (in some cases, hashrate is reduced by 50%). It may be a good idea to optimize the stratum connections that are managed by CPU, or fix whatever is causing the high CPU load.

AMD Driver Package

Would you know if there's an AMD driver package I could use for 2x FirePro D700 on a mac for use with this project? I searched around the AMD site, although since that's a specialized card there don't seem to be any drivers available, thanks!

Allow selection of instances per GPU

Many people run mixed GPU rigs of 2gb cards and 4gb cards. Please add feature to define instances like:

--instances 1,2,2,1

This will allow users to define instances on a per-gpu basis. Right now, the only work around is to run separate miner instances with different flags.

Thank you!

"Task exception was never retrieved"

Hi, I just did a checkout of v3 and compiled it.
I have this error when i launch my fresh compiled silentarmy (the bundled binary works fine though)

$ ./silentarmy                 
Connecting to us1-zcash.flypool.org:3333            
Stratum server sent us the first job
Mining on 1 device
Total 0.0 sol/s [] 0 shares
Task exception was never retrieved
future: <Task finished coro=<Silentarmy.show_stats() done, defined at ./silentarmy:183> exception=KeyError('0.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: '0.0'

sa-solver won't run from remote command line

Hi.

I want to run silentarmy in a remote computer which I have ssh access.

The problem is if I run ./silentarmy or sa-solver with --list or any other parameter, it seems to be waiting for something that never arrives and I have to kill the process or just press Ctrl+C.
This only happens when I'm running the command remotely.

On the other hand, if I don't run the command remotely, that is, by going physically to the computer , logging in through a graphical session and then opening a terminal in the desktop, the command works fine.

I have tried export DISPLAY=:0 too with no luck.

Using ensure_future() not supported on Ubuntu 14.04

This might be design, but usage of ensure_future() (eg. https://github.com/mbevand/silentarmy/blob/master/silentarmy#L105 ) in silentarmy requires Python 3.4.4+ .

Trusty only has up to 3.4.3 available (http://packages.ubuntu.com/trusty-updates/python3.4)

Maybe deprecate support for 14.04 ?

n1ko@orangeminer:~/silentarmy$ ./silentarmy
Traceback (most recent call last):
  File "./silentarmy", line 549, in <module>
    main()
  File "./silentarmy", line 546, in main
    Silentarmy(opts).run()
  File "./silentarmy", line 256, in run
    asyncio.ensure_future(self.reconnect())
AttributeError: 'module' object has no attribute 'ensure_future'
n1ko@orangeminer:~/silentarmy$ python3 --version
Python 3.4.3

Total 0 solutions in 8429.2 ms (0.0 Sol/s)

Hello. I am running silentarmy on Ubuntu 14.04 with a Radeon 7970 using proprietary drivers.

When running $ make test it seems to run fine without any errors.

However, when running $ silentarmy --nonces 100, I end up with Total 0 solutions in 8429.2 ms (0.0 Sol/s).

fail to mine with beignet OpenCL driver

Trying to run silentarmy on bignet OpenCL driver

Output of clinfo:

Number of platforms:				 1
  Platform Profile:				 FULL_PROFILE
  Platform Version:				 OpenCL 1.2 beignet 1.1.2
  Platform Name:				 Intel Gen OCL Driver
  Platform Vendor:				 Intel
  Platform Extensions:				 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_khr_icd


  Platform Name:				 Intel Gen OCL Driver
Number of devices:				 1
  Device Type:					 CL_DEVICE_TYPE_GPU
  Device ID:					 32902
  Max compute units:				 20
  Max work items dimensions:			 3
    Max work items[0]:				 512
    Max work items[1]:				 512
    Max work items[2]:				 512
  Max work group size:				 512
  Preferred vector width char:			 16
  Preferred vector width short:			 8
  Preferred vector width int:			 4
  Preferred vector width long:			 2
  Preferred vector width float:			 4
  Preferred vector width double:		 0
  Native vector width char:			 8
  Native vector width short:			 8
  Native vector width int:			 4
  Native vector width long:			 2
  Native vector width float:			 4
  Native vector width double:			 2
  Max clock frequency:				 1000Mhz
  Address bits:					 32
  Max memory allocation:			 1073741824
  Image support:				 Yes
  Max number of images read arguments:		 128
  Max number of images write arguments:		 8
  Max image 2D width:				 8192
  Max image 2D height:				 8192
  Max image 3D width:				 8192
  Max image 3D height:				 8192
  Max image 3D depth:				 2048
  Max samplers within kernel:			 16
  Max size of kernel argument:			 1024
  Alignment (bits) of base address:		 1024
  Minimum alignment (bytes) for any datatype:	 128
  Single precision floating point capability
    Denorms:					 No
    Quiet NaNs:					 Yes
    Round to nearest even:			 Yes
    Round to zero:				 No
    Round to +ve and infinity:			 No
    IEEE754-2008 fused multiply-add:		 No
  Cache type:					 Read/Write
  Cache line size:				 64
  Cache size:					 8192
  Global memory size:				 2147483648
  Constant buffer size:				 134217728
  Max number of constant args:			 8
  Local memory type:				 Global
  Local memory size:				 65536
  Error correction support:			 0
  Unified memory for Host and Device:		 1
  Profiling timer resolution:			 80
  Device endianness:				 Little
  Available:					 Yes
  Compiler available:				 Yes
  Execution capabilities:				 
    Execute OpenCL kernels:			 Yes
    Execute native function:			 Yes
  Queue properties:				 
    Out-of-Order:				 No
    Profiling :					 Yes
  Platform ID:					 0x7f0f1d3f2380
  Name:						 Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile
  Vendor:					 Intel
  Device OpenCL C version:			 OpenCL C 1.2 beignet 1.1.2
  Driver version:				 1.1.2
  Profile:					 FULL_PROFILE
  Version:					 OpenCL 1.2 beignet 1.1.2
  Extensions:					 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_khr_icd

./silentarmy -u xxxxxx -v -v --instances 1

Connecting to us1-zcash.flypool.org:3333
Solver 0.0: launching
From solver 0.0: banner "SILENTARMY mining mode ready"
Successfully connected to us1-zcash.flypool.org:3333
To stratum server: b'{"id": 1, "method": "mining.subscribe", "params": ["silentarmy", null, "us1-zcash.flypool.org", "3333"]}\n'
From stratum server: b'{"id":1,"result":["79b97b36a4", "79b97b36a4"]}\n'
Stratum server fixes 5 bytes of the nonce
To stratum server: b'{"id": 2, "method": "mining.authorize", "params": ["xxxxx"]}\n'
From stratum server: b'{"id":2,"result":true}\n{"id":null,"method":"mining.set_target","params":["0083126e978d4fdf3b645a1cac083126e978d4fdf3b645a1cac083126e978d4f"]}\n'
Received target 0083126e978d4fdf3b645a1cac083126e978d4fdf3b645a1cac083126e978d4f
From solver 0.0: ASSERTION FAILED: !(ctx->getErrCode() == OUT_OF_RANGE_IF_ENDIF && ctx->getIFENDIFFix())
Solver 0.0: reported: ASSERTION FAILED: !(ctx->getErrCode() == OUT_OF_RANGE_IF_ENDIF && ctx->getIFENDIFFix())
From solver 0.0:   at file /build/beignet-y6IWjA/beignet-1.1.2/backend/src/backend/gen_program.cpp, function virtual gbe::Kernel* gbe::GenProgram::compileKernel(const gbe::ir::Unit&, const string&, bool), line 199
Solver 0.0: reported:   at file /build/beignet-y6IWjA/beignet-1.1.2/backend/src/backend/gen_program.cpp, function virtual gbe::Kernel* gbe::GenProgram::compileKernel(const gbe::ir::Unit&, const string&, bool), line 199
From stratum server: b'{"id":0,"method":"mining.notify","params":["0ea418831d6bd98ac86f","04000000","774f34872af99f16ee03a861ee993bb8439447ba5a1d1aa3695fb39700000000","041ae711b2b5055d472613f3907d5ab37ff7aade32405a0e14e842c3ba70779d","0000000000000000000000000000000000000000000000000000000000000000","86212258","1456031d",true]}\n'
Received job "0ea418831d6bd98ac86f"
Stratum server sent us the first job
Mining on 1 device
To solvers: 4f8d976e1283c0caa145b6f3fdd478e9263108ac1c5a643bdf4f8d976e128300 0ea418831d6bd98ac86f 04000000774f34872af99f16ee03a861ee993bb8439447ba5a1d1aa3695fb39700000000041ae711b2b5055d472613f3907d5ab37ff7aade32405a0e14e842c3ba70779d0000000000000000000000000000000000000000000000000000000000000000862122581456031d 79b97b36a4
From stratum server: b'{"id":0,"method":"mining.notify","params":["1cfa9d99b485c48c6bbf","04000000","774f34872af99f16ee03a861ee993bb8439447ba5a1d1aa3695fb39700000000","b50838aff8608a052c90d9817269e6cea4861ab372b0fec11101697330d8704d","0000000000000000000000000000000000000000000000000000000000000000","ad212258","1456031d",true]}\n'
Received job "1cfa9d99b485c48c6bbf"
To solvers: 4f8d976e1283c0caa145b6f3fdd478e9263108ac1c5a643bdf4f8d976e128300 1cfa9d99b485c48c6bbf 04000000774f34872af99f16ee03a861ee993bb8439447ba5a1d1aa3695fb39700000000b50838aff8608a052c90d9817269e6cea4861ab372b0fec11101697330d8704d0000000000000000000000000000000000000000000000000000000000000000ad2122581456031d 79b97b36a4
From stratum server: b'{"id":0,"method":"mining.notify","params":["f0070042f17fbc3aa5f2","04000000","774f34872af99f16ee03a861ee993bb8439447ba5a1d1aa3695fb39700000000","29f57e85661b12f926574df045295462b8668afa7e2596e618f4ae28ce606260","0000000000000000000000000000000000000000000000000000000000000000","ce212258","1456031d",true]}\n'
Received job "f0070042f17fbc3aa5f2"
To solvers: 4f8d976e1283c0caa145b6f3fdd478e9263108ac1c5a643bdf4f8d976e128300 f0070042f17fbc3aa5f2 04000000774f34872af99f16ee03a861ee993bb8439447ba5a1d1aa3695fb3970000000029f57e85661b12f926574df045295462b8668afa7e2596e618f4ae28ce6062600000000000000000000000000000000000000000000000000000000000000000ce2122581456031d 79b97b36a4
From stratum server: b'{"id":0,"method":"mining.notify","params":["944464a1a20a9ef6227c","04000000","8863b69010a659bf085dd88ee8e9e1317a8ad38ca7c30766377b563d01000000","17399ea9d176b59335356f9646163b689d3a199dbc827b072f41388439684626","0000000000000000000000000000000000000000000000000000000000000000","d2212258","2e53031d",true]}\n'
Received job "944464a1a20a9ef6227c"
To solvers: 4f8d976e1283c0caa145b6f3fdd478e9263108ac1c5a643bdf4f8d976e128300 944464a1a20a9ef6227c 040000008863b69010a659bf085dd88ee8e9e1317a8ad38ca7c30766377b563d0100000017399ea9d176b59335356f9646163b689d3a199dbc827b072f413884396846260000000000000000000000000000000000000000000000000000000000000000d22122582e53031d 79b97b36a4
From stratum server: b'{"id":0,"method":"mining.notify","params":["8b1a7363d1a1e7b177d8","04000000","8863b69010a659bf085dd88ee8e9e1317a8ad38ca7c30766377b563d01000000","2adf4cf2590928fdb40ce5cbaf3a129e3858bf7cb994a8045a2f893c5c9863ea","0000000000000000000000000000000000000000000000000000000000000000","d9212258","2e53031d",true]}\n'
Received job "8b1a7363d1a1e7b177d8"
To solvers: 4f8d976e1283c0caa145b6f3fdd478e9263108ac1c5a643bdf4f8d976e128300 8b1a7363d1a1e7b177d8 040000008863b69010a659bf085dd88ee8e9e1317a8ad38ca7c30766377b563d010000002adf4cf2590928fdb40ce5cbaf3a129e3858bf7cb994a8045a2f893c5c9863ea0000000000000000000000000000000000000000000000000000000000000000d92122582e53031d 79b97b36a4

./sa-solver --nonces 100

Solving default all-zero 140-byte header
Building program
ASSERTION FAILED: !(ctx->getErrCode() == OUT_OF_RANGE_IF_ENDIF && ctx->getIFENDIFFix())
  at file /build/beignet-y6IWjA/beignet-1.1.2/backend/src/backend/gen_program.cpp, function virtual gbe::Kernel* gbe::GenProgram::compileKernel(const gbe::ir::Unit&, const string&, bool), line 199

Bug in instructions

If you follow the instructions for Ubuntu:

  1. Fresh install of Ubuntu 16.04.1 (AMD_64 Desktop version)

  2. Download and install latest AMDGPU-PRO Driver (16.40)

  3. Add user to video group

On reboot, system will kernel panic every time.

Stop sending work to sa-solver associated with a particular GPU if a GPU produces invalid work.

Tested on multiple rigs.

sa-solver may continue to send work to a GPU that has produced continuous invalid work (indicative of crash).

This results in ASIC HANG HAPPENED and possible hard crash. It would be a good idea to check for invalid work and prevent sa-solver from continuing to send work to that GPU.

If user runs multithreaded solvers, prevent other threads from sending work as well.

Bug: unknown state CONNECTING

Total 96.5 sol/s [dev0 30.2, dev1 35.9, dev2 31.5] 31 shares
Total 96.9 sol/s [dev0 30.2, dev1 33.8, dev2 33.0] 32 shares
Total 96.6 sol/s [dev0 31.6, dev1 33.4, dev2 32.9] 32 shares
Total 98.1 sol/s [dev0 35.7, dev1 33.8, dev2 33.1] 33 shares
Stratum: connection was closed (invalid user/pwd?)
Total 97.6 sol/s [dev0 33.9, dev1 34.1, dev2 32.1] 33 shares
Connecting to equihash.eu.nicehash.com:3357 (attempt 4)
Bug: unknown state CONNECTING

Zero sols after few minutes of mine

Hi, using ubuntu 14.04 (4.8.0-rc6) + amd gpu pro 16.30 on 6-card-rig (stable on ethereum + claymore). I have 0.0 (zero) sols after few minutes of mining. Hardware is Asrock H97 anniversary + RX470 refs.

[code]Total 197.1 sol/s [dev0 39.4, dev1 38.8, dev2 0.0, dev3 37.5, dev4 37.8, dev5 44.1] 35 shares
Total 197.3 sol/s [dev0 38.0, dev1 40.5, dev2 0.0, dev3 37.0, dev4 32.7, dev5 44.0] 35 shares
Total 194.5 sol/s [dev0 37.4, dev1 39.0, dev2 0.0, dev3 38.4, dev4 27.4, dev5 45.5] 35 shares
Total 192.3 sol/s [dev0 38.3, dev1 39.0, dev2 0.0, dev3 39.3, dev4 24.9, dev5 45.4] 35 shares
Total 190.8 sol/s [dev0 37.0, dev1 40.0, dev2 0.0, dev3 38.3, dev4 21.0, dev5 45.6] 35 shares
Total 191.1 sol/s [dev0 38.9, dev1 39.2, dev2 0.0, dev3 37.6, dev4 16.8, dev5 46.0] 35 shares
Total 189.3 sol/s [dev0 37.6, dev1 38.2, dev2 0.0, dev3 39.5, dev4 13.0, dev5 43.1] 35 shares
Total 187.1 sol/s [dev0 37.2, dev1 36.8, dev2 0.0, dev3 40.4, dev4 8.9, dev5 43.8] 35 shares
Total 187.2 sol/s [dev0 36.9, dev1 40.1, dev2 0.0, dev3 38.9, dev4 6.7, dev5 42.1] 35 shares
Total 186.2 sol/s [dev0 37.4, dev1 39.7, dev2 0.0, dev3 39.1, dev4 2.5, dev5 43.5] 35 shares
Total 184.4 sol/s [dev0 37.6, dev1 38.2, dev2 0.0, dev3 37.7, dev4 0.0, dev5 42.2] 35 shares
Total 183.4 sol/s [dev0 36.3, dev1 34.3, dev2 0.0, dev3 41.4, dev4 0.0, dev5 41.2] 35 shares
[/code]

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

Getting: Stratum: invalid msg from server: type object 'bytes' has no attribute 'hex'

I am getting the above error when starting the miner. Tried on different computers (both with ubuntu trusty) and both suprnova and flypool with the same results.

Below is the debug log.

simon@miner3:~/src/silentarmy$ ./silentarmy  --debug
Connecting to us1-zcash.flypool.org:3333
DEBUG:asyncio:Get address info us1-zcash.flypool.org:3333, type=<SocketKind.SOCK_STREAM: 1>
DEBUG:asyncio:execute program '/home/simon/src/silentarmy/sa-solver' stdin=<pipe> stdout=stderr=<pipe>
DEBUG:asyncio:process '/home/simon/src/silentarmy/sa-solver' created: pid 762
DEBUG:asyncio:execute program '/home/simon/src/silentarmy/sa-solver' stdin=<pipe> stdout=stderr=<pipe>
DEBUG:asyncio:process '/home/simon/src/silentarmy/sa-solver' created: pid 763
DEBUG:asyncio:Write pipe 9 connected: (<_UnixWritePipeTransport fd=9 idle bufsize=0>, <WriteSubprocessPipeProto fd=0 pipe=<_UnixWritePipeTransport fd=9 idle bufsize=0>>)
DEBUG:asyncio:Write pipe 11 connected: (<_UnixWritePipeTransport fd=11 idle bufsize=0>, <WriteSubprocessPipeProto fd=0 pipe=<_UnixWritePipeTransport fd=11 idle bufsize=0>>)
DEBUG:asyncio:Read pipe 10 connected: (<_UnixReadPipeTransport fd=10 polling>, <ReadSubprocessPipeProto fd=1 pipe=<_UnixReadPipeTransport fd=10 polling>>)
DEBUG:asyncio:Read pipe 12 connected: (<_UnixReadPipeTransport fd=12 polling>, <ReadSubprocessPipeProto fd=1 pipe=<_UnixReadPipeTransport fd=12 polling>>)
INFO:asyncio:execute program '/home/simon/src/silentarmy/sa-solver': <_UnixSubprocessTransport pid=762 running stdin=<_UnixWritePipeTransport fd=9 idle bufsize=0> stdout=<_UnixReadPipeTransport fd=10 polling>>
INFO:asyncio:execute program '/home/simon/src/silentarmy/sa-solver': <_UnixSubprocessTransport pid=763 running stdin=<_UnixWritePipeTransport fd=11 idle bufsize=0> stdout=<_UnixReadPipeTransport fd=12 polling>>
DEBUG:asyncio:Getting address info us1-zcash.flypool.org:3333, type=<SocketKind.SOCK_STREAM: 1> took 50.738 ms: [(<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('192.99.33.207', 3333)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('192.99.160.185', 3333))]
DEBUG:asyncio:poll 956.546 ms took 19.804 ms: 1 events
DEBUG:asyncio:connect <socket.socket fd=7, family=AddressFamily.AF_INET, type=2049, proto=6, laddr=('0.0.0.0', 0)> to ('192.99.33.207', 3333)
DEBUG:asyncio:poll 933.953 ms took 126.998 ms: 1 events
DEBUG:asyncio:<socket.socket fd=7, family=AddressFamily.AF_INET, type=2049, proto=6, laddr=('10.0.0.203', 44310), raddr=('192.99.33.207', 3333)> connected to us1-zcash.flypool.org:3333: (<_SelectorSocketTransport fd=7 read=polling write=<idle, bufsize=0>>, <__main__.StratumClientProtocol object at 0x7f52854ff748>)
DEBUG:asyncio:poll 802.756 ms took 123.810 ms: 1 events
DEBUG:asyncio:poll 678.359 ms took 202.749 ms: 1 events
DEBUG:asyncio:poll 999.621 ms took 447.402 ms: 1 events
Stratum server sent us the first job
Mining on 1 device
Stratum: invalid msg from server: type object 'bytes' has no attribute 'hex': {'method': 'mining.notify', 'params': ['ce2bcec71d3d7f44da48', '04000000', 'b32c4729cd52258602571b0af0b0381c50336199774780c8567e36f100000000', 'd1e1ac654685e1620571a5b7775cffc27dcd09072f42b9304b9691ec519de22b', '0000000000000000000000000000000000000000000000000000000000000000', '4fee1c58', '35e2031d', True], 'id': 0}

INFO:asyncio:poll 999.688 ms took 1001.064 ms: timeout
INFO:asyncio:poll 999.689 ms took 1001.068 ms: timeout
INFO:asyncio:poll 999.689 ms took 1000.587 ms: timeout
INFO:asyncio:poll 999.691 ms took 1001.093 ms: timeout
DEBUG:asyncio:poll 999.686 ms took 491.497 ms: 1 events
DEBUG:asyncio:poll 506.425 ms took 165.440 ms: 1 events
INFO:asyncio:poll 999.622 ms took 1001.011 ms: timeout
INFO:asyncio:poll 999.621 ms took 1000.984 ms: timeout
INFO:asyncio:poll 999.629 ms took 1000.982 ms: timeout
INFO:asyncio:poll 999.631 ms took 1001.000 ms: timeout
INFO:asyncio:poll 999.577 ms took 1000.982 ms: timeout
INFO:asyncio:poll 999.627 ms took 1000.982 ms: timeout
INFO:asyncio:poll 999.633 ms took 1000.981 ms: timeout
INFO:asyncio:poll 999.630 ms took 1001.028 ms: timeout
INFO:asyncio:poll 999.625 ms took 1001.025 ms: timeout
INFO:asyncio:poll 999.625 ms took 1000.980 ms: timeout
INFO:asyncio:poll 999.626 ms took 1001.010 ms: timeout
INFO:asyncio:poll 999.622 ms took 1000.982 ms: timeout
INFO:asyncio:poll 999.602 ms took 1000.980 ms: timeout
INFO:asyncio:poll 999.626 ms took 1001.031 ms: timeout

sa_solver segfault and decission

Hi,

After 753 line in main.c need add:

if ( (inputs[i] / 8) >= seen_len ) {
sols->valid[sol_i] = 0;
return 0;
}

Best Regards,
Warp.

Stratum server returned wrong id

Just started testing the miner. It seems like its doing a good job mining and 0% is rejected but it seems to be outputting roughly 10 of these in a minute:

Stratum server returned wrong id: XXX

I tried out couple pools (nicehash, coinmine) and happened on both of them. Rig consists of 6 AMD GPU's and Ubuntu 14.04 with Python3.5.

AFAICT its just noise

write nvidia make settings in readme

To compile your miner on cuda 8.0 I need to write the path and only then it compiles:

make OPENCL_HEADERS=/usr/local/cuda-8.0/targets/x86_64-linux/include/ LIBOPENCL=/usr/local/cuda-8.0/targets/x86_64-linux/lib

Missing file on extraction

I extracted the Silentarmy master folder and ran the make command, but it did not provide the Sa solver file. Here is the cmd line error

echo 'const char *ocl_code = R"mrb(' >_kernel.h
cpp input.cl >>_kernel.h
echo ')mrb";' >>_kernel.h
gcc -std=gnu99 -pedantic -Wextra -Wall -ggdb -Wno-deprecated-declarations -Wno-overlength-strings -I"/opt/AMDAPPSDK-3.0/include" -c -o main.o main.c
gcc -std=gnu99 -pedantic -Wextra -Wall -ggdb -Wno-deprecated-declarations -Wno-overlength-strings -I"/opt/AMDAPPSDK-3.0/include" -c -o blake.o blake.c
gcc -std=gnu99 -pedantic -Wextra -Wall -ggdb -Wno-deprecated-declarations -Wno-overlength-strings -I"/opt/AMDAPPSDK-3.0/include" -c -o sha256.o sha256.c
gcc -o sa-solver main.o blake.o sha256.o -rdynamic -L"/opt/amdgpu-pro/lib/x86_64-linux-gnu" -lOpenCL
/usr/bin/ld: cannot find -lOpenCL
collect2: error: ld returned 1 exit status
Makefile:20: recipe for target 'sa-solver' failed
make: *** [sa-solver] Error 1

Getting bad interpreter error

Running Ubuntu 12.04LTS with Python 3.3, I get this error:

john@john-ubuntu:~/Desktop/silentarmy-4$ ./silentarmy --list
bash: ./silentarmy: /usr/bin/python3: bad interpreter: No such file or directory

clinfo returns my GPU info and sa-solver and make test both work fine. Any advice?

Implement stratum extranonce (+ other fixes)

Good job with the miner; some suggestions I may add:

  1. I see you set new job immediately after set_target is received; this is not correct, new target is used for every NEXT job that arrives, so you don't need to do anything but just save the new target.

  2. You may simply ignore jobs that have clean flag set to false. Some pools regularly send out jobs with clean flag set to false. If you always swap to these new jobs, your mining performance is a little degraded (due to cancelled solution finding). It is completely safe to ignore clean=false jobs, because hashing is so slow process that the miner would never run out of nonce range (nonce range can be restarted with new job).

  3. I suggest you to implement extranonce.subscribe. It is an extension of stratum that allows the pool to change server side nonce on miner during the work (and not only initially when subscribed). That way your miner would perform in the best possible way on our service as well (otherwise, miners get reconnected, which is not so good).

What you need to do is following; after you subscribe, send following msg: {"id":3,"method":"mining.extranonce.subscribe","params":[]}\n

When you receive following from server:
{"id":null,"method":"mining.set_extranonce","params":["xxxxxxxxxxxxxxx"]}\n

xxxxxxxxxxxxxxx represent new server side nonce. You continue to use this new server side nonce with NEXT mining job. Simple as that ;)

AMDGPUMCInstLower::lower - Pseudo instruction doesn't have a target-specific version: 146

Thanks for making a linux GPU miner!

When I try to run the sa-solver, I get this output:

./sa-solver --nonces 10000 
Solving default all-zero 140-byte header
Building program
OpenCL build failed (-11). Build log follows:
AMDGPUMCInstLower::lower - Pseudo instruction doesn't have a target-specific version: 146

I have the amdgpu driver installed, and clinfo shows it:

Number of platforms:				 1
  Platform Profile:				 FULL_PROFILE
  Platform Version:				 OpenCL 1.1 Mesa 12.0.3
  Platform Name:				 Clover
  Platform Vendor:				 Mesa
  Platform Extensions:				 cl_khr_icd


  Platform Name:				 Clover
Number of devices:				 1
  Device Type:					 CL_DEVICE_TYPE_GPU
  Vendor ID:					 1002h
  Max compute units:				 36
  Max work items dimensions:			 3
    Max work items[0]:				 256
    Max work items[1]:				 256
    Max work items[2]:				 256
  Max work group size:				 256
  Preferred vector width char:			 16
  Preferred vector width short:			 8
  Preferred vector width int:			 4
  Preferred vector width long:			 2
  Preferred vector width float:			 4
  Preferred vector width double:		 2
  Native vector width char:			 16
  Native vector width short:			 8
  Native vector width int:			 4
  Native vector width long:			 2
  Native vector width float:			 4
  Native vector width double:			 2
  Max clock frequency:				 0Mhz
  Address bits:					 32
  Max memory allocation:			 268435456
  Image support:				 No
  Max size of kernel argument:			 1024
  Alignment (bits) of base address:		 1024
  Minimum alignment (bytes) for any datatype:	 128
  Single precision floating point capability
    Denorms:					 No
    Quiet NaNs:					 Yes
    Round to nearest even:			 Yes
    Round to zero:				 No
    Round to +ve and infinity:			 No
    IEEE754-2008 fused multiply-add:		 No
  Cache type:					 None
  Cache line size:				 0
  Cache size:					 0
  Global memory size:				 1073741824
  Constant buffer size:				 268435456
  Max number of constant args:			 16
  Local memory type:				 Scratchpad
  Local memory size:				 32768
  Kernel Preferred work group size multiple:	 64
  Error correction support:			 0
  Unified memory for Host and Device:		 1
  Profiling timer resolution:			 0
  Device endianess:				 Little
  Available:					 Yes
  Compiler available:				 Yes
  Execution capabilities:				 
    Execute OpenCL kernels:			 Yes
    Execute native function:			 No
  Queue on Host properties:				 
    Out-of-Order:				 No
    Profiling :					 Yes
  Platform ID:					 0x7f640a8d5b00
  Name:						 AMD POLARIS10 (DRM 3.2.0 / 4.7.0-1-amd64, LLVM 3.8.1)
  Vendor:					 AMD
  Device OpenCL C version:			 OpenCL C 1.1 
  Driver version:				 12.0.3
  Profile:					 FULL_PROFILE
  Version:					 OpenCL 1.1 Mesa 12.0.3
  Extensions:					 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_fp64

The module is loaded:

amdkfd                126976  1
amdgpu               1150976  6
glxinfo |grep OpenGL
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics
OpenGL core profile version string: 4.5.13453 Core Profile Context
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5.13453 Compatibility Profile Context
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: 4.5.13453 Compatibility Profile Context
OpenGL ES profile shading language version string: 4.50
OpenGL ES profile extensions:

Any idea what could be causing the problem?

I'm trying to do this on debian.

sa-solver 100% CPU core with nvidia

Running latest master.
LD_PRELOAD to load icd.

 LD_PRELOAD="/usr/lib/libOpenCL.so.1" ./silentarmy --list
Devices on platform "AMD Accelerated Parallel Processing":
  ID 0: Ellesmere
  ID 1: Intel(R) Core(TM) i7-6800K CPU @ 3.40GHz
Devices on platform "NVIDIA CUDA":
  ID 2: GeForce GTX 1070
Devices on platform "AMD Accelerated Parallel Processing":
  ID 3: Intel(R) Core(TM) i7-6800K CPU @ 3.40GHz

Ming with command:
LD_PRELOAD="/usr/lib/libOpenCL.so.1" ./silentarmy --use 2 -c stratum+tcp://xxxxxxxxx:3333 -u txxxxxxxxxxxd.nvidia --instances 1 causes whole once core to spin at 100% at the sa-solver.

Crash on 8 GPUs

Had to take a GPU out of my rigs as I get an error starting the miner with 8 as I was doing with my previous zcash-miner. 7 GPU seems to be the limit

Ship an optional CPU miner

I have a weak machine so I mine with cpu+gpu. Would be nice to add xenoncat's cpu solver to your gpu miner because there is no better one around. Your gpu solver + xenoncat's cpu solver are the best!

Not compiling in Raspberry Pi

When compiling in Raspberry Pi, I get this error:

gcc  -std=gnu99 -pedantic -Wextra -Wall -ggdb -Wno-deprecated-declarations -Wno-overlength-strings -I"/opt/AMDAPPSDK-3.0/include"  -c -o main.o main.c
main.c:22:18: error: conflicting types for ‘ulong’
 typedef uint64_t ulong;
                  ^
In file included from /usr/include/stdlib.h:314:0,
                 from main.c:3:
/usr/include/arm-linux-gnueabihf/sys/types.h:150:27: note: previous declaration of ‘ulong’ was here
 typedef unsigned long int ulong;
                           ^
main.c: In function ‘print_sol’:
main.c:594:5: warning: left shift count >= width of type
     if (*nonce < (1UL << 32))
     ^
main.c:594:16: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
     if (*nonce < (1UL << 32))
                ^
main.c:595:2: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ [-Wformat=]
  fprintf(stderr, " 0x%lx:", *nonce);
  ^
main.c: In function ‘mining_mode’:
main.c:1071:13: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘uint64_t’ [-Wformat=]
             printf("status: %ld %ld\n", total, total_shares);
             ^
main.c:1071:13: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘uint64_t’ [-Wformat=]
main.c: In function ‘run_opencl’:
main.c:1114:6: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘uint64_t’ [-Wformat=]
      total, (t1 - t0) / 1e3, total / ((t1 - t0) / 1e6));
      ^
<builtin>: recipe for target 'main.o' failed
make: *** [main.o] Error 1

GCC version:

gcc (Raspbian 4.9.2-10) 4.9.2

LD version:

GNU ld (GNU Binutils for Raspbian) 2.25

Seems it's an issue between 64/32 bit compatibility. The first error seems a redefinition of ulong, that seems to be already defined in Raspbian.

solve_equihash() function unexpectedly increments nonce

Hi,

I believe this line:

(*nonce_ptr)++;

is a bug. The problem is that the function would alternate the supplied header which is something not expected by the caller of the function. I am aware that so far this is not a public library. However, a simple case shows that even the sa-solver binary generates sort unexpected solutions. E.g.:
./sa-solver -i 040000000000000000000000000000000000000000000000000000000000000000000000db4d7a85b768123f1dff1d4c4cece70083b2d27e117b4ac2e31d087988a5eac4000000000000000000000000000000000000000000000000000000000000000090041358ffff071f5712000000000000000000000000000000000000000000000000000000000000

This is the header of the very first block from the main zcash chain. However, the solver would calculate solutions for nonce 0x13, not 0x12 (as specified in the header). The amount of CPU time needed to adjust the nonce field is very neglegible and I believe, the functionality to autoincrement it should be removed. Especially, when it's specified as part of the full 140 byte header.

Nvidia support Cuda 8.0

Hi, I installed the newest nvidia drivers with the cuda 8.0 install on ubuntu 16.04 as in:
https://github.com/etherchain-org/nheqminer#linux-ubuntu-1404--1604-build-cuda_tromp

And built your miner and ziog miner with no errors but on both miners during the launch I get the same error.

./silentarmy
/usr/local/cuda-8.0/lib64/libOpenCL.so.1: no version information available (required by /home/monika/silentarmy/sa-solver)"
Solver 0.1: unexpected banner "/home/monika/silentarmy/sa-solver: /usr/local/cuda-8.0/lib64/libOpenCL.so.1: no version information available (required by /home/monika/silentarmy/sa-solver)"

./silentarmy --list
/home/monika/silentarmy/sa-solver: /usr/local/cuda-8.0/lib64/libOpenCL.so.1: no version information available (required by /home/monika/silentarmy/sa-solver)
Devices on platform "NVIDIA CUDA":
ID 0: GeForce GT 740M

Maybe you can add support more easy when you see how nheqminer did it. Too bad that miner is a bit slow 2.5 sol on 740M, i hope your's is better. Thanks for your work.

Implement stratum method client.reconnect

Stratum: invalid msg from server: Unimplemented method: client.reconnect: {'id': None, 'params': [], 'method': 'client.reconnect'}

Stratum: connection was closed (invalid user/pwd?)
Total 64.5 sol/s [dev0 32.4, dev1 31.4] 1243 shares
Connecting to equihash.eu.nicehash.com:3357 (attempt 6)
Stratum: SILENTARMY is not compatible with servers fixing the first 17 bytes of the nonce

KeyError: '1.1' When running more than one device

Thanks for the updated miner. Looks simple and great.

Amdgpu-pro rx480's selecting

./silentarmy --use 0,1

Task exception was never retrieved
future: <Task finished coro=<Silentarmy.show_stats() done, defined at ./silentarmy:183> exception=KeyError('1.1',)>
Traceback (most recent call last):
  File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
    result = coro.send(None)
  File "./silentarmy", line 231, 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.1'

Selecting one device works well.

Can't kill sa-solver.

Sometimes silentarmy starts on all gpus, and then drops one or more of them, showing 0.0sols on those cards.

I'm running silentarmy in screen, and when i kill it, sa-solver processes stay running, and nothing can kill them killall -9 sa-solver, or kill -9 {PID}

also, when this happens, I can't reboot rig, ssh disconnects but rig stays running.

Ubuntu 16

Os x port

Dear,
I'll do the os x port.
Changed compiler structs and opencl headers but get a bunch of errors. Any clue?

pipe closed by peer or os.write(pipe, data) raised exception.

Hi, why the silentarmy raised exception?

$fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: AMD Radeon(TM) R7 Graphics     
OpenGL version string: 4.5.13399 Compatibility Profile Context 15.302
$ ./silentarmy --list
Devices on platform "AMD Accelerated Parallel Processing":
  ID 0: Spectre
  ID 1: AMD A10-7860K Radeon R7, 12 Compute Cores 4C+8G
Connecting to cn1-zcash.flypool.org:3333
Solver 1.0: EOF while reading banner
Solver 1.1: EOF while reading banner
Solver 1.2: EOF while reading banner
Solver 1.3: EOF while reading banner
Solver 1.6: EOF while reading banner
Solver 1.7: EOF while reading banner
Solver 1.5: EOF while reading banner
Solver 1.4: EOF while reading banner
Stratum server sent us the first job
Mining on 1 device
pipe closed by peer or os.write(pipe, data) raised exception.
pipe closed by peer or os.write(pipe, data) raised exception.
pipe closed by peer or os.write(pipe, data) raised exception.
..........

Stat Parser Bug

Hey your stat python code has a bug...seems to be throwing key errors. The miner still works and hashes in the background, just stats no longer display:

Task exception was never retrieved future: <Task finished coro=<Silentarmy.show_stats() done, defined at ./silentarmy:183> 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'

Maximum number of clients reached

Hello. Thank you for developing this great application. Multi-gpu support is awesome.

I am getting the following error, hope you can help me out.

Error from silentarmy:
pipe closed by peer or os.write(pipe, data) raised exception.

Error from solver:
Solver 2.1: unexpected banner "Maximum number of clients reached"
SILENTARMY mining mode ready"

My rig has 4 HD 7990 6GB, which supposedly are 8 cards of 3GB each.
I get this error when I use instances 2, and when I change it to 1 mining starts without problems.
But I guess these cards should work with instances 2 or am I wrong?

BTW, I have executed "./sa-solver --nonces 100" and it runs without problems on each card.

Ubuntu 15.04 with Crimson Driver 15.12

After installation AMDGPU-PRO Driver...

Hello. After install AMDGPU-PRO Driver I cant login in my machine UBUNTU 16.04, need password< my machine password no work.
Auto login no work.
What I can do .HOW FIX THIS ISSUE?

First card 1/3th of the speed

Got this issue with every linux miner, the first card is spinning at 1/3th or 1/4th of the rest, any idea on how to fix this?

Cannot get OpenCL platforms! (-1001)

after the installation, as soon I run ./silentarmy --nonces 100 i get the error:

Solving default all-zero 140-byte header
Cannot get OpenCL platforms! (-1001)

running make I get the error: /usr/lib/libOpenCL.so: until I have run sudo apt install ocl-icd-opencl-dev

thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.