Fix race in indexer topk on CUDA (#2148)
This commit is contained in:
parent
2b8d0d5011
commit
fbcc743c70
|
|
@ -240,7 +240,9 @@ static __global__ void k_indexer_mask(int ne0, int ne1, int ne2, int ntopk, int
|
|||
|
||||
if (i1 < ne11) {
|
||||
for (int j = threadIdx.x; j < ne0; j += blockDim.x) d[j] = inf;
|
||||
__syncthreads();
|
||||
for (int j = threadIdx.x; j < ntopk; j += blockDim.x) d[i[j]] = zero;
|
||||
__syncthreads();
|
||||
for (int j = threadIdx.x; j < ne0; j += blockDim.x) d[j] += m[j];
|
||||
} else {
|
||||
for (int j = threadIdx.x; j < ne0; j += blockDim.x) d[j] = m[j];
|
||||
|
|
|
|||
Loading…
Reference in New Issue