Skip to content

Latest commit

 

History

History
72 lines (61 loc) · 3.28 KB

CHANGELOG.md

File metadata and controls

72 lines (61 loc) · 3.28 KB

Current tip

  • Avoid 100% CPU usage with Nvidia's OpenCL, aka busywait fix (Kubuxu)
  • Optimization: +10% speedup, increase collision items tracked per thread (nerdralph). 'make test' finds 196 sols again
  • Implement mining.extranonce.subscribe (kenshirothefist)
  • mining.authorize sends an empty string if no password is specified
  • Fix memory leaks
  • Avoid fatal error when OpenCL platform returns CL_DEVICE_NOT_FOUND

Version 5 (11 Nov 2016)

  • Optimization: major 2x speedup (eXtremal) by storing 8 atomic counters in 1 uint, and by reducing branch divergence when iterating over and XORing Xi's; note that as a result of these optimizations, sa-solver compiled with NR_ROWS_LOG=20 now only finds 182 out of 196 existing solutions ("make test" verification data was adjusted accordingly)
  • Defaulting OPTIM_SIMPLIFY_ROUND to 1; GPU memory usage down to 0.8 GB per instance
  • Optimization: significantly reduce CPU usage and PCIe bandwidth (before: ~100 MB/s/GPU, after: 0.5 MB/s/GPU), accomplished by filtering invalid solutions on-device
  • Optimization: reduce size of collisions[] array; +7% speed increase measured on RX 480 and R9 Nano using AMDGPU-PRO 16.40
  • Implement stratum method client.reconnect
  • Avoid segfault when encountering an out-of-range input
  • For simplicity -i <header> now only accepts 140-byte headers
  • Update README.md with Nvidia performance numbers
  • Fix mining on Xeon Phi and CPUs (fix OpenCL warnings)
  • Fix compilation warnings and 32-bit platforms

Version 4 (08 Nov 2016)

  • Add Nvidia GPU support (fix more unaligned memory accesses)
  • Add nerdralph's optimization (OPTIM_SIMPLIFY_ROUND) for potential +30% speedup, especially useful on Nvidia GPUs
  • Drop the Python 3.5 dependency; now requires only Python 3.3 or above (lhl)
  • Drop the libsodium dependency; instead use our own SHA256 implementation
  • Add nicehash compatibility (stratum servers fixing 17 bytes of the nonce)
  • Only apply set_target to next mining job
  • Do not abandon previous mining jobs if clean_jobs is false
  • Fix KeyError's when displaying stats
  • Be more robust about different types of network errors during connection
  • Remove bytes.hex() which was only supported on Python 3.5+

Version 3 (04 Nov 2016)

  • SILENTARMY is now a full miner, not just a solver; the solver binary was renamed "sa-solver" and the miner is the script "silentarmy"
  • Multi-GPU support
  • Stratum support for pool mining
  • Reduce GPU memory usage to 671 MB (NR_ROWS_LOG=19) or 1208 MB (NR_ROWS_LOG=20, default, ~10% faster than 19) per Equihash instance
  • Rename --list-gpu to --list and list all OpenCL devices (not just GPUs)
  • Add support for multiple OpenCL platforms: --list now scans all available platforms, numbering devices using globally unique IDs
  • Improve correctness: find ~0.09% more solutions

Version 2 (30 Oct 2016)

  • Support GCN 1.0 / remove unaligned memory accesses (because of this bug, previously SILENTARMY always reported 0 solutions on GCN 1.0 hardware)
  • Minor performance improvement (~1%)
  • Get rid of "kernel.cl" and move the OpenCL code to a C string embedded in the binary during compilation
  • Update README with instructions for installing Radeon Software Crimson Edition (fglrx.ko) in addition to AMDGPU-PRO (amdgpu.ko)

Version 1 (27 Oct 2016)

  • Initial import into GitHub