diff --git a/doc/compile_Windows.md b/doc/compile_Windows.md index 1b5787879d9d50d6daa7539b798a06a16fcb063b..8fe4dcf534d413454cb07777086ef6e3e8248991 100644 --- a/doc/compile_Windows.md +++ b/doc/compile_Windows.md @@ -30,15 +30,16 @@ - CUDA/Runtime - Driver components -### AMD DRIVER/APP SDK 3.0 (only needed for AMD GPUs) +### AMD DRIVER/OCL-SDK (only needed for AMD GPUs) - Download & install the AMD driver: https://www.amd.com/en/support **ATTENTION** Many windows driver 18.5+ creating invalid shares. If you have an issue with `invalid shares` please downgrade your driver. -- Download and install the latest version from http://amd-dev.wpengine.netdna-cdn.com/app-sdk/installers/APPSDKInstaller/3.0.130.135-GA/full/AMD-APP-SDKInstaller-v3.0.130.135-GA-windows-F-x64.exe - (do not wonder why it is a link to a netdna-cdn.com but AMD has removed the SDK downloads, see https://community.amd.com/thread/222855) +- Download and install the latest version of the OCL-SDK from https://github.com/GPUOpen-LibrariesAndSDKs/OCL-SDK/releases + +Do not follow old information that you need the AMD APP SDK. AMD has removed the APP SDK and is now shipping the OCL-SDK_light. ### Dependencies OpenSSL/Hwloc and Microhttpd - For CUDA 8*: @@ -115,4 +116,4 @@ If you have an issue with `invalid shares` please downgrade your driver. copy C:\xmr-stak-dep\openssl\bin\* . ``` -- Miner is by default compiled for NVIDIA GPUs (if CUDA is installed), AMD GPUs (if the AMD APP SDK is installed) and CPUs. +- Miner is by default compiled for NVIDIA GPUs (if CUDA is installed), AMD GPUs (if the AMD OCL-SDK_light is installed) and CPUs. diff --git a/xmrstak/backend/amd/amd_gpu/opencl/cryptonight.cl b/xmrstak/backend/amd/amd_gpu/opencl/cryptonight.cl index e489eacac3d4d343bc005269c72d8761be6bbb8e..6a3def72c4dbb0c675ab206479d5013f6a1ec82a 100644 --- a/xmrstak/backend/amd/amd_gpu/opencl/cryptonight.cl +++ b/xmrstak/backend/amd/amd_gpu/opencl/cryptonight.cl @@ -662,7 +662,7 @@ __kernel void JOIN(cn1,ALGO) (__global uint4 *Scratchpad, __global ulong *states ((uint4 *)c)[0] = SCRATCHPAD_CHUNK(0); // cryptonight_bittube2 #if(ALGO == 10) - ((uint4 *)c)[0] = AES_Round2(AES0, AES1, ~((uint4 *)c)[0], ((uint4 *)a)[0]); + ((uint4 *)c)[0] = AES_Round2_bittube2(AES0, AES1, ~((uint4 *)c)[0], ((uint4 *)a)[0]); #else ((uint4 *)c)[0] = AES_Round2(AES0, AES1, ((uint4 *)c)[0], ((uint4 *)a)[0]); #endif diff --git a/xmrstak/backend/amd/amd_gpu/opencl/wolf-aes.cl b/xmrstak/backend/amd/amd_gpu/opencl/wolf-aes.cl index c3125d90adc9dc79abc14683885fe0b849ae1a76..b99b62d5cf30e94b88dea660f0062b9a7fdafe59 100644 --- a/xmrstak/backend/amd/amd_gpu/opencl/wolf-aes.cl +++ b/xmrstak/backend/amd/amd_gpu/opencl/wolf-aes.cl @@ -119,6 +119,19 @@ uint4 AES_Round2(const __local uint *AES0, const __local uint *AES1, const uint4 return key; } +uint4 AES_Round2_bittube2(const __local uint *AES0, const __local uint *AES1, uint4 X, uint4 key) +{ + key.s0 ^= AES0[BYTE(X.s0, 0)] ^ rotate(AES0[BYTE(X.s2, 2)] ^ AES1[BYTE(X.s3, 3)], 16u) ^ AES1[BYTE(X.s1, 1)]; + X.s0 ^= key.s0; + key.s1 ^= AES0[BYTE(X.s1, 0)] ^ rotate(AES0[BYTE(X.s3, 2)] ^ AES1[BYTE(X.s0, 3)], 16u) ^ AES1[BYTE(X.s2, 1)]; + X.s1 ^= key.s1; + key.s2 ^= AES0[BYTE(X.s2, 0)] ^ rotate(AES0[BYTE(X.s0, 2)] ^ AES1[BYTE(X.s1, 3)], 16u) ^ AES1[BYTE(X.s3, 1)]; + X.s2 ^= key.s2; + key.s3 ^= AES0[BYTE(X.s3, 0)] ^ rotate(AES0[BYTE(X.s1, 2)] ^ AES1[BYTE(X.s2, 3)], 16u) ^ AES1[BYTE(X.s0, 1)]; + + return key; +} + #endif )===" diff --git a/xmrstak/backend/amd/config.tpl b/xmrstak/backend/amd/config.tpl index 7f614f7f2da2eb0685678c492fb4c5f0cfcaa049..26a8ef48add7b37b24d27c322f16114e6c51e2f7 100644 --- a/xmrstak/backend/amd/config.tpl +++ b/xmrstak/backend/amd/config.tpl @@ -48,7 +48,7 @@ GPUCONFIG * WARNING: experimental option * * 0 = disable auto tuning - * 10 or higher = recommended value if you not already know the best intensity + * 10 or higher = recommended value if you don't already know the best intensity */ "auto_tune" : 0, diff --git a/xmrstak/version.cpp b/xmrstak/version.cpp index b5b5621d1e4ec91e47eb5f73c3478e0103907ee7..88e3a5cad858bdb66d665b139e275068f18017ef 100644 --- a/xmrstak/version.cpp +++ b/xmrstak/version.cpp @@ -18,7 +18,7 @@ #endif #define XMR_STAK_NAME "xmr-stak" -#define XMR_STAK_VERSION "2.7.0" +#define XMR_STAK_VERSION "2.7.1" #if defined(_WIN32) #define OS_TYPE "win"