20 lines
1.0 KiB
Bash
20 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# Copyright (c) 2017-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
|
|
# Check if libcuda.so.1 -- the CUDA driver -- is present in the ld.so cache or in LD_LIBRARY_PATH
|
|
_LIBCUDA_FROM_LD_CACHE=$(ldconfig -p | grep libcuda.so.1)
|
|
_LIBCUDA_FROM_LD_LIBRARY_PATH=$( ( IFS=: ; for i in ${LD_LIBRARY_PATH}; do ls $i/libcuda.so.1 2>/dev/null | grep -v compat; done) )
|
|
_LIBCUDA_FOUND="${_LIBCUDA_FROM_LD_CACHE}${_LIBCUDA_FROM_LD_LIBRARY_PATH}"
|
|
|
|
# Check if /dev/nvidiactl (like on Linux) or /dev/dxg (like on WSL2) or /dev/nvgpu (like on Tegra) is present
|
|
_DRIVER_FOUND=$(ls /dev/nvidiactl /dev/dxg /dev/nvgpu 2>/dev/null)
|
|
|
|
# If either is not true, then GPU functionality won't be usable.
|
|
if [[ -z "${_LIBCUDA_FOUND}" || -z "${_DRIVER_FOUND}" ]]; then
|
|
echo
|
|
echo "WARNING: The NVIDIA Driver was not detected. GPU functionality will not be available."
|
|
echo " Use the NVIDIA Container Toolkit to start this container with GPU support; see"
|
|
echo " https://docs.nvidia.com/datacenter/cloud-native/ ."
|
|
export NVIDIA_CPU_ONLY=1
|
|
fi
|