sxx-404 commited on
Commit
0ecc4d6
·
1 Parent(s): 18bdb35

ggml: fix zero division in ‘dne’ calculation in CUDA COUNT_EQUAL operator when ‘ne’ is small (#10213)

Browse files
Files changed (1) hide show
  1. ggml/src/ggml-cuda/count-equal.cu +1 -1
ggml/src/ggml-cuda/count-equal.cu CHANGED
@@ -44,7 +44,7 @@ void ggml_cuda_count_equal(ggml_backend_cuda_context & ctx, ggml_tensor * dst) {
44
 
45
  const int64_t ne = ggml_nelements(src0);
46
  GGML_ASSERT(ne < (1 << 30) && "atomicAdd implementation only supports int");
47
- const int64_t dne = GGML_PAD(ne / (4*nsm), CUDA_COUNT_EQUAL_CHUNK_SIZE);
48
 
49
  CUDA_CHECK(cudaMemsetAsync(dst_d, 0, ggml_nbytes(dst), stream));
50
 
 
44
 
45
  const int64_t ne = ggml_nelements(src0);
46
  GGML_ASSERT(ne < (1 << 30) && "atomicAdd implementation only supports int");
47
+ const int64_t dne = GGML_PAD((ne + 4*nsm - 1) / (4*nsm), CUDA_COUNT_EQUAL_CHUNK_SIZE);
48
 
49
  CUDA_CHECK(cudaMemsetAsync(dst_d, 0, ggml_nbytes(dst), stream));
50