Kaynağa Gözat

Added comments explaining thread block size selection logic based on row count and column size, derived from historical commit context (#18212)

Aadeshveer Singh 3 hafta önce
ebeveyn
işleme
10b4f82d44
1 değiştirilmiş dosya ile 3 ekleme ve 0 silme
  1. 3 0
      ggml/src/ggml-cuda/mean.cu

+ 3 - 0
ggml/src/ggml-cuda/mean.cu

@@ -63,6 +63,9 @@ void ggml_cuda_op_mean(ggml_backend_cuda_context & ctx, ggml_tensor * dst) {
 
     const int id  = ggml_cuda_get_device();
     const int nsm = ggml_cuda_info().devices[id].nsm;
+
+    // Heuristic for block size selection to optimize occupancy.
+    // See discussion in: https://github.com/ggml-org/llama.cpp/pull/15132
     if ((nrows / nsm) < 2) {
         const dim3 block_dims(512, 1, 1);
         reduce_rows_f32</*norm=*/true><<<block_nums, block_dims, 0, stream>>>(src0_d, dst_d, ncols);