Skip to content
Snippets Groups Projects
  1. Nov 30, 2018
    • psychocrypt's avatar
      OpenCL: comp mode optimization · 307dda83
      psychocrypt authored
      Disable compatibility mode if intensity is a multiple of worksize. In that case enabled compaibility mode will only slow down the miner.
      307dda83
  2. Nov 27, 2018
    • psychocrypt's avatar
      OpenCL: thread interleaving · d8316f7d
      psychocrypt authored
      If two threads are using the same GPU device the start time of each hash round is optimized based on the average time needed to calculate a bunch of hashes.
      
      This way to optimize the hash rate was first introduced by @SChernykh. This implementation based on the implementation in xmrig but differen in the details.
      
      - introduce a new config option `interleave`
      - implement thread interleaving
      d8316f7d
  3. Nov 21, 2018
  4. Nov 20, 2018
  5. Nov 19, 2018
  6. Nov 16, 2018
  7. Nov 06, 2018
  8. Oct 16, 2018
  9. Oct 15, 2018
    • psychocrypt's avatar
      fix broken AMD OpenCL compile · 2a0d565b
      psychocrypt authored
      The AMD compiler for OpenCL shipped with the driver 14XX is broken
      and can not compile xmr-stak since the monero v8 changes are introduced.
      
      - workaround a simple compare.
      - add new device define `OPENCL_DRIVER_MAJOR`
      2a0d565b
  10. Oct 10, 2018
    • psychocrypt's avatar
      fix right bitshift in `amd_bitalign` · b4387ac0
      psychocrypt authored
      In the current implementation the bit align is using signed integer which results in pulling in
      ones in the case the sign bit is set.
      
      - cast to unsigned integer before using bitshift
      b4387ac0
  11. Oct 08, 2018
  12. Oct 07, 2018
    • psychocrypt's avatar
      fix crash with monero and strided_index · 1c0ef154
      psychocrypt authored
      Strided index 1 is not allowed for cryptonight_v8 and monero.
      In the case the dev pool is set to monero and the user tuned there settings for
      an other currency the miner will crash if strided index or memChunk is not
      fitting the requirement to mine monero.
      This PR detects wrong configurations and will set strided index and memChunk to a valid
      value but only for cryptonight_v8. The user pool settings will only be changed if monero or
      cryptonight_v8 is selected.
      1c0ef154
    • psychocrypt's avatar
      OpenCL: fix definition range for unroll · 746037d8
      psychocrypt authored
      fix #1870
      
      - remove zero from the valod definition range for the loop unroll option
      746037d8
  13. Oct 06, 2018
  14. Oct 05, 2018
    • psychocrypt's avatar
      fix invalid shares · 8e1e7447
      psychocrypt authored
      With rocm we fighted very long with invalid shares. This is now solved with rocm 1.9 and
      this tiny fix.
      It is not fully clear where a memory optimization is kicking in and break the kernel `Groestl` if the variables `M` and `H` are not `volatile`.
      The performance ill not change with this fix.
      
      The fix is tested with rocm 1.9 with a VEGA64 and a RX570
      8e1e7447
  15. Oct 04, 2018
  16. Oct 03, 2018
    • psychocrypt's avatar
      rework all currencies · 70f3e825
      psychocrypt authored
      - introduce monero oct 2018 fork as currency `monero`
      - remove monero7
      - change all dev pools
        - those miner monero7 to handle the fork to monero
        - if the dev pool can not handle the fork to monero the currency is fixed set to `monero` (we can only handle 2 different currencies for user and dev pool)
      - remove guards those prevent to use the currency `monero`
      70f3e825
  17. Sep 30, 2018
  18. Sep 22, 2018
  19. Sep 21, 2018
  20. Sep 19, 2018
    • psychocrypt's avatar
      NVIDIA: optimize div and sqrt · 659918f2
      psychocrypt authored
      - use optimzed div and sqrt
      - reduce memory footprint
      659918f2
    • psychocrypt's avatar
      asm, style and spelling fixes · 1692c543
      psychocrypt authored
      - fix code style issues
      - fix spelling issue
      - fix asm to support newer clang versions
      1692c543
    • psychocrypt's avatar
      update docs and reintroduce monero7 · 9a2ef075
      psychocrypt authored
      - reintroduce monero7 until the POW is final
      - update docs (add cryptonigh_v8)
      9a2ef075
    • psychocrypt's avatar
      AMD: add unroll option · 28f41a6e
      psychocrypt authored
      add option `unroll` for OpenCL to allow better tuning the main POW kernel.
      28f41a6e
    • psychocrypt's avatar
      OpenCL: optimize NVIDIA pass · df1a4200
      psychocrypt authored
      
      Create a special pass for NVIDIA GPUs to load memory chunks first into the shared memory.
      
      Co-authored-by: default avatarSChernykh <sergey.v.chernykh@gmail.com>
      df1a4200
    • psychocrypt's avatar
      OpenCl: cryptonight_v8 · 5608f8df
      psychocrypt authored
      
      - implement cryptonight_v8
      - update auto adjust to fit the special requirements of `cryptonight_v8`
      - add fast math integer implementation for `sqrt`, `reciprocal`  and `division`
      
      Co-authored-by: default avatarSChernykh <sergey.v.chernykh@gmail.com>
      5608f8df
    • psychocrypt's avatar
      OpenCL: avoid out of memory access · 16da9886
      psychocrypt authored
      During the initialization of the compile parameter for OpenCL it could be that the
      fixed size buffer is to small. To avoid this we are now using `std::string`.
      There is no problem by using `std::string` because this part of code is not perfromance critical.
      16da9886
    • psychocrypt's avatar
      fix nicehash `invalid results` · 77160cf1
      psychocrypt authored
      If the first bit of the nonce is `1` (this is very often if we use a nicehash pool)
      than it could be that some OpenCL implementations handle the 64bit representation of the 32bit
      nonce on the device side as signed integer.
      During a right bitshift we pull wrong ones from the wrong higher part of the 64bit
      nonce representation into the 32bit part of the nonce.
      The result will be that the computed share is invalid.
      
      - explicit cast the nonce on the device to `uint` to avoid any side effects
      77160cf1
  21. Sep 17, 2018
  22. Sep 16, 2018
  23. Sep 13, 2018
    • psychocrypt's avatar
      unify cpu cryptonight implementations · 931bd5fe
      psychocrypt authored
      xmr-stak has several implementations for multi hash per thread.
      The results into 3 intepedent implementations.
      Each time the algorithm must be changed the possibility to introduce errors is very large.
      
      - unify the different cryptonight CPU implementations
      - simplify the function selection array to find the specilized cryptonight implementation
      - add a intermediat pointer to access the large state (similar to the old multi hash implementation)
      
      As side effect this change increases the speed of the single and multi hash algorithm.
      931bd5fe
  24. Jul 17, 2018
Loading