- Dec 29, 2018
-
-
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.
-
- Dec 06, 2018
-
-
psychocrypt authored
Since #2080 bittube2 is broken. - reintroduce special AES function for bittube2
-
- Dec 03, 2018
-
-
psychocrypt authored
NVIDIA is using clang as device compiler so the reciprocal optimizations was disabled with #2104. - re-enable optimized reciprocal calculation
-
- Dec 02, 2018
-
-
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
-
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)
-
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
-
psychocrypt authored
Due to a wrong implementation clamp was not working.
-
- Nov 30, 2018
-
-
psychocrypt authored
use for non clang (Rocm) OpenCL a optimized reciprocal calculation without lookup table. Co-authored-by:
SChernykh <sergey.v.chernykh@gmail.com>
-
psychocrypt authored
Disable compatibility mode if intensity is a multiple of worksize. In that case enabled compaibility mode will only slow down the miner.
-
- Nov 29, 2018
-
-
LPHuynh authored
-
- Nov 27, 2018
-
-
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
-
- Nov 21, 2018
-
-
psychocrypt authored
Use `mul24` to speedup the scratchpad index calculation. Co-authored-by:
SChernykh <sergey.v.chernykh@gmail.com>
-
psychocrypt authored
Add new striding index where the memory is chunked by the size of the work group (worksize). Co-authored-by:
SChernykh <sergey.v.chernykh@gmail.com>
-
psychocrypt authored
small optimization for non cryptonight_v8 algorithms
-
- Nov 20, 2018
-
-
SChernykh authored
- optimize division
-
SChernykh authored
optimize cryptonight_heavy diff
-
psychocrypt authored
- change a few 64bit variables into 32bit. - provide defines type quallified
-
- Nov 19, 2018
-
-
psychocrypt authored
- remove useless `clFinish` - avoid download num threads for skein&co and start always as much threads as in all other kernel (terminate useless threads)
-
psychocrypt authored
Reduce local memory foot print to increase the occupancy. Co-authored-by:
SChernykh <sergey.v.chernykh@gmail.com>
-
- Nov 16, 2018
-
-
psychocrypt authored
define shared memory in the outer scope
-
SChernykh authored
x-ref: https://github.com/xmrig/xmrig-amd/pull/192
-
SChernykh authored
- optimize kernel cn0 and cn2 - optimize vast int math - use more 32bit variables Co-authored-by:
psychocrypt <psychocryptHPC@gmail.com>
-
- Nov 06, 2018
-
-
SChernykh authored
optimize the devision in cryptonight_heavy and cryptonight_haven import of https://github.com/xmrig/xmrig-amd/pull/185/commits/5d9b9334654df25cea7707f667990fd1577ed290
-
- Oct 16, 2018
-
-
psychocrypt authored
Fix the fix from #1945. The initial fix produces invalid results.
-
Hans Kristian Rosbach authored
-
- Oct 15, 2018
-
-
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`
-
- Oct 10, 2018
-
-
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
-
- Oct 07, 2018
-
-
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.
-
- Oct 06, 2018
-
-
Tony Butler authored
-
- Oct 05, 2018
-
-
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
-
- Oct 04, 2018
-
-
Tony Butler authored
-
- Sep 30, 2018
-
-
psychocrypt authored
add cpu implementation for the final monero POW
-
- Sep 21, 2018
-
-
psychocrypt authored
- remove unused host function (relict from old refactoring) - remove unused OpenCL full div function
-
- Sep 19, 2018
-
-
psychocrypt authored
- fix code style issues - fix spelling issue - fix asm to support newer clang versions
-
psychocrypt authored
add option `unroll` for OpenCL to allow better tuning the main POW kernel.
-
psychocrypt authored
Create a special pass for NVIDIA GPUs to load memory chunks first into the shared memory. Co-authored-by:
SChernykh <sergey.v.chernykh@gmail.com>
-
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:
SChernykh <sergey.v.chernykh@gmail.com>
-
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.
-
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
-
- Sep 17, 2018
-
-
psychocrypt authored
Avoid that a OpenCL binary from the cache is used if the driver or xmr-stak version has changed.
-