This is an automated email from the ASF dual-hosted git repository.

andrewmusselman pushed a commit to branch makefile-detect-cuda-toolkit
in repository https://gitbox.apache.org/repos/asf/mahout.git

commit 32a25963a5ac3192be0fc5de0cd470451ca82072
Author: Andrew Musselman <[email protected]>
AuthorDate: Sun May 17 08:37:08 2026 -0700

    fix(build): gate test_rust on nvcc presence, not just nvidia-smi
---
 Makefile | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index bad52e28c..d7816276e 100644
--- a/Makefile
+++ b/Makefile
@@ -16,9 +16,17 @@
 
 .PHONY: test_rust test_python tests pre-commit setup-test-python 
install-llvm-cov setup-benchmark
 
-# Detect NVIDIA GPU
+# Detect NVIDIA driver. Sufficient for `test_python` because `qdp-core` can
+# build against its CUDA-stub fallback when the toolkit is absent (the
+# Rust extension just won't be GPU-functional at runtime).
 HAS_NVIDIA := $(shell command -v nvidia-smi >/dev/null 2>&1 && nvidia-smi -L 
>/dev/null 2>&1 && echo yes || echo no)
 
+# Detect CUDA Toolkit. Required for `test_rust` because the qdp-core
+# integration tests link against libcudart from the toolkit. PyTorch's
+# bundled cudart inside its wheel does *not* satisfy this; the toolkit
+# (apt: nvidia-cuda-toolkit, or NVIDIA's installer) must be on PATH.
+HAS_NVCC := $(shell command -v nvcc >/dev/null 2>&1 && echo yes || echo no)
+
 setup-test-python:
        uv sync --group dev
 
@@ -26,12 +34,20 @@ install-llvm-cov:
        @cargo llvm-cov --version >/dev/null 2>&1 || (echo "[INFO] Installing 
cargo-llvm-cov..." && cargo install cargo-llvm-cov)
 
 test_rust: install-llvm-cov
-ifeq ($(HAS_NVIDIA),yes)
+ifeq ($(HAS_NVCC),yes)
        cd qdp && cargo llvm-cov test --workspace --exclude qdp-python --html 
--output-dir target/llvm-cov/html
        cd qdp && cargo llvm-cov report --summary-only
+else
+ifeq ($(HAS_NVIDIA),yes)
+       @echo "[SKIP] NVIDIA driver detected but CUDA Toolkit (nvcc) is not on 
PATH."
+       @echo "       qdp-core integration tests link against libcudart and 
require"
+       @echo "       the toolkit. PyTorch's bundled cudart is not sufficient."
+       @echo "       Install via: apt install nvidia-cuda-toolkit"
+       @echo "       or from:     https://developer.nvidia.com/cuda-downloads";
 else
        @echo "[SKIP] No NVIDIA GPU detected, skipping test_rust"
 endif
+endif
 
 test_python: setup-test-python
 ifeq ($(HAS_NVIDIA),yes)

Reply via email to