Skip to content

Instantly share code, notes, and snippets.

@adujardin
Created November 18, 2020 11:23
Show Gist options
  • Save adujardin/afa2093e0013816341d7edbf47609548 to your computer and use it in GitHub Desktop.
Save adujardin/afa2093e0013816341d7edbf47609548 to your computer and use it in GitHub Desktop.
Check nvidia driver + cuda runtime version for Linux
#!/usr/bin/env bash
# Check if nvidia-smi is there
if ! command -v nvidia-smi &> /dev/null
then
echo "nvidia-smi could not be found"
exit
else
# Check that it's working
out=$(nvidia-smi)
need_reboot_str="NVML: Driver/library version mismatch"
if [[ "$out" == *"$need_reboot_str"* ]]; then
echo "Driver recently setup, reboot your computer to use CUDA"
exit
fi
# Normal operation
out=$(nvidia-smi -q -u -x)
cuda_version_runtime=$(echo $out | grep "cuda_version" | sed -e 's/.*<cuda_version>\(.*\)<\/cuda_version>.*/\1/')
nvidia_driver_version=$(echo $out | grep "driver_version" | sed -e 's/.*<driver_version>\(.*\)<\/driver_version>.*/\1/')
cuda_version_runtime_arr=($(echo $cuda_version_runtime | grep -o -E '[0-9]+'))
cuda_version_runtime_major=${cuda_version_runtime_arr[0]}
cuda_version_runtime_minor=${cuda_version_runtime_arr[1]}
echo "$cuda_version_runtime_major.$cuda_version_runtime_minor"
nvidia_driver_version_arr=($(echo $nvidia_driver_version | grep -o -E '[0-9]+'))
nvidia_driver_version_major=${nvidia_driver_version_arr[0]}
nvidia_driver_version_minor=${nvidia_driver_version_arr[1]}
echo "$nvidia_driver_version_major.$nvidia_driver_version_minor"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment