From 5e7451f4ec0dfeb5dedf776ced6ce93f7c762b7f Mon Sep 17 00:00:00 2001 From: Micke <155267459+reallesee@users.noreply.github.com> Date: Mon, 21 Jul 2025 13:14:33 +0200 Subject: [PATCH] Optimize CUDA support detection using iterators --- crates/network/utils/src/cuda.rs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/crates/network/utils/src/cuda.rs b/crates/network/utils/src/cuda.rs index af2e6811..fbfda4d7 100644 --- a/crates/network/utils/src/cuda.rs +++ b/crates/network/utils/src/cuda.rs @@ -6,22 +6,28 @@ pub fn has_cuda_support() -> bool { // Common paths where nvidia-smi might be installed. let nvidia_smi_paths = ["nvidia-smi", "/usr/bin/nvidia-smi", "/usr/local/bin/nvidia-smi"]; - for path in nvidia_smi_paths { + let found = nvidia_smi_paths.iter().any(|path| { match Command::new(path).output() { Ok(output) => { if output.status.success() { debug!("found working nvidia-smi at: {}", path); - return true; + true + } else { + debug!("nvidia-smi at {} exists but returned error status", path); + false } - debug!("nvidia-smi at {} exists but returned error status", path); } Err(e) => { debug!("failed to execute nvidia-smi at {}: {}", path, e); + false } } - } - - debug!("no working nvidia-smi found in any standard location"); + }); - false + if !found { + debug!("no working nvidia-smi found in any standard location"); + } + + found } +