Skip to content
Snippets Groups Projects
  1. Dec 29, 2018
    • psychocrypt's avatar
      OpenCL: allow more than two algorithms · a39ee088
      psychocrypt authored
      In the current implementation the POW algorithm in dev pool section of a
      currency will not be taken into account during the binary creation.
      This PR changes the behavior and allow to create binaries for more than two POW algorihms.
      a39ee088
  2. Dec 06, 2018
    • psychocrypt's avatar
      fix bittube2 · e01eebc2
      psychocrypt authored
      Since #2080 bittube2 is broken.
      
      - reintroduce special AES function for bittube2
      e01eebc2
  3. Dec 03, 2018
  4. Dec 02, 2018
    • psychocrypt's avatar
      OpenCL: auto tuning option · af87b408
      psychocrypt authored
      Add an option to brute force intensity settings and lock in at the intensity with the highest hashrate.
      
      - update decumentation of the `interleave` option to mention the side effect with `auto-tune`
      - disable `interleave` auto adjustment if `auto-tune` is enabled
      - jconf: add `auto-tune` as optional option
      af87b408
    • psychocrypt's avatar
      OpenCl: fix NVIDIA · 1b27f0f3
      psychocrypt authored
      - fix broken compile: change used `ULL` to `UL` because `UL` is defined as 64bit
      - fix memory copy to shared memory via vload8 (somehow it create wrong access)
      1b27f0f3
    • psychocrypt's avatar
      OpenCL: auto config two threads per GPU · e46226fa
      psychocrypt authored
      The auto config generates for AMD devices now by default two threads per GPU.
      
      - remove the savety 128MiB memory now only from the max available GPU memory not from the avaialble memory for one alloc call
      - extend the memory documentation in amd.txt
      e46226fa
    • psychocrypt's avatar
      fix clamp implementation · b606304b
      psychocrypt authored
      Due to a wrong implementation clamp was not working.
      b606304b
  5. Nov 30, 2018
  6. Nov 29, 2018
  7. 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
  8. Nov 21, 2018
  9. Nov 20, 2018
  10. Nov 19, 2018
  11. Nov 16, 2018
  12. Nov 06, 2018
  13. Oct 16, 2018
  14. 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
  15. 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
  16. 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
  17. Oct 06, 2018
  18. 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
  19. Oct 04, 2018
  20. Sep 30, 2018
  21. Sep 21, 2018
  22. Sep 19, 2018
    • 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
      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
  23. Sep 17, 2018
Loading