diff --git a/ccminer.vcxproj b/ccminer.vcxproj index c0588b1..74c3aff 100644 --- a/ccminer.vcxproj +++ b/ccminer.vcxproj @@ -314,6 +314,7 @@ + @@ -527,4 +528,4 @@ - + \ No newline at end of file diff --git a/ccminer.vcxproj.filters b/ccminer.vcxproj.filters index b123622..f27161a 100644 --- a/ccminer.vcxproj.filters +++ b/ccminer.vcxproj.filters @@ -434,6 +434,9 @@ Source Files\CUDA\quark + + Source Files\CUDA\quark + @@ -698,4 +701,4 @@ Ressources - + \ No newline at end of file diff --git a/quark/cuda_bmw512.cu b/quark/cuda_bmw512.cu index 1c7180c..8910ee8 100644 --- a/quark/cuda_bmw512.cu +++ b/quark/cuda_bmw512.cu @@ -9,7 +9,12 @@ __constant__ uint64_t c_PaddedMessage80[16]; // padded message (80 bytes + padding) #endif -#include "cuda_bmw512_30.cu" +#include "cuda_bmw512_sm3.cuh" + +#ifdef __INTELLISENSE__ +/* just for vstudio code colors */ +#define __CUDA_ARCH__ 500 +#endif #undef SHL #undef SHR diff --git a/quark/cuda_bmw512_30.cu b/quark/cuda_bmw512_sm3.cuh similarity index 97% rename from quark/cuda_bmw512_30.cu rename to quark/cuda_bmw512_sm3.cuh index 5b204e3..247c9f0 100644 --- a/quark/cuda_bmw512_30.cu +++ b/quark/cuda_bmw512_sm3.cuh @@ -1,6 +1,11 @@ #include #include +#ifdef __INTELLISENSE__ +/* for vstudio code colors */ +#define __CUDA_ARCH__ 300 +#endif + #include "cuda_helper.h" #define SHL(x, n) ((x) << (n)) @@ -12,8 +17,7 @@ q[i+8] + ROTL64(q[i+9], 37) + q[i+10] + ROTL64(q[i+11], 43) + \ q[i+12] + ROTL64(q[i+13], 53) + (SHR(q[i+14],1) ^ q[i+14]) + (SHR(q[i+15],2) ^ q[i+15]) -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 500 - +#if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 200 && __CUDA_ARCH__ < 500) __constant__ uint64_t d_constMem[16] = { SPH_C64(0x8081828384858687), SPH_C64(0x88898A8B8C8D8E8F), @@ -32,6 +36,13 @@ __constant__ uint64_t d_constMem[16] = { SPH_C64(0xF0F1F2F3F4F5F6F7), SPH_C64(0xF8F9FAFBFCFDFEFF) }; +# ifdef __GNUC__ +// windows and linux doesnt require the same ifdef for __constant__ +# pragma GCC diagnostic ignored "-Wunused-variable" +# endif +#endif + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 500 __device__ void Compression512_30(uint64_t *msg, uint64_t *hash)