From 2b91e21d1461879e6474e93d9668dfd549e8478f Mon Sep 17 00:00:00 2001 From: Scott Cutler Date: Fri, 24 Apr 2026 12:58:19 -0700 Subject: [PATCH] allow disabling CUDA reductions completely (falling back to the non-CUDA butterfly mode) --- ggml/src/ggml-cuda/ggml-cuda.cu | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index e545ca1cca..f9d1d55cea 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -1218,6 +1218,16 @@ static void * ggml_backend_cuda_comm_init(ggml_backend_t * backends, size_t n_ba } } + // GGML_CUDA_ALLREDUCE=none disables the CUDA-specific AllReduce entirely, + // so the meta-backend falls back to its generic butterfly reduction. + { + const char * env = getenv("GGML_CUDA_ALLREDUCE"); + if (env != nullptr && strcmp(env, "none") == 0) { + GGML_LOG_INFO("%s: GGML_CUDA_ALLREDUCE=none; using meta-backend butterfly reduction\n", __func__); + return nullptr; + } + } + std::vector dev_ids; dev_ids.reserve(n_backends); for (size_t i = 0; i < n_backends; i++) {