summaryrefslogtreecommitdiffstats
path: root/xmrstak
diff options
context:
space:
mode:
authorpsychocrypt <psychocryptHPC@gmail.com>2018-05-16 21:16:09 +0200
committerpsychocrypt <psychocryptHPC@gmail.com>2018-05-16 21:16:09 +0200
commit4a4a2f856afe6581f661e234d04360909764a42f (patch)
tree329915e4974d505f0f2c6a2cd92241c943319887 /xmrstak
parent94d41580e0b0400e93a2f0226eb71476b891f4a7 (diff)
downloadxmr-stak-4a4a2f856afe6581f661e234d04360909764a42f.zip
xmr-stak-4a4a2f856afe6581f661e234d04360909764a42f.tar.gz
fix possible deadlock with Volta
If CUDA 9.X is used and the miner is compiled for `sm_70` and used with Volta GPUs than the miner deadlocks if `threads` is not a multiple of `32`. - use `__activemask()` to get all active lanes
Diffstat (limited to 'xmrstak')
-rw-r--r--xmrstak/backend/nvidia/nvcc_code/cuda_core.cu2
1 files changed, 1 insertions, 1 deletions
diff --git a/xmrstak/backend/nvidia/nvcc_code/cuda_core.cu b/xmrstak/backend/nvidia/nvcc_code/cuda_core.cu
index 3d8af48..57b6ad0 100644
--- a/xmrstak/backend/nvidia/nvcc_code/cuda_core.cu
+++ b/xmrstak/backend/nvidia/nvcc_code/cuda_core.cu
@@ -187,7 +187,7 @@ __forceinline__ __device__ uint32_t shuffle(volatile uint32_t* ptr,const uint32_
unusedVar( ptr );
unusedVar( sub );
# if(__CUDACC_VER_MAJOR__ >= 9)
- return __shfl_sync(0xFFFFFFFF, val, src, group_n );
+ return __shfl_sync(__activemask(), val, src, group_n );
# else
return __shfl( val, src, group_n );
# endif
OpenPOWER on IntegriCloud