docker內(nèi)部執(zhí)行nvidia-smi無任何顯示的解決方法
賀志國
2023.4.11
今天在Docker內(nèi)部編譯程序,發(fā)現(xiàn)與CUDA
相關的代碼居然沒有編譯,于是在Docker內(nèi)部執(zhí)行Nvidia顯卡驅(qū)動檢測命令nvidia-smi
,執(zhí)行完畢后,無任何輸出,也沒有任何報錯信息,但在Docker外部執(zhí)行該命令,結(jié)果如下圖所示,沒有任何異常:
最開始我以為是Docker啟動有問題,于是連續(xù)重啟兩次,仍然是nvidia-smi
命令無任何輸出。仔細觀察啟動Docker的提示,說是Docker內(nèi)部的Nvidia顯卡驅(qū)動異常,未能啟用Nvidia顯卡,于是按照Nvidia官方網(wǎng)站https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker的方法重新安裝NVIDIA Container Toolkit
。安裝命令羅列如下(我也是在官網(wǎng)抄過來的):
# 重新安裝Docker
curl https://get.docker.com | sh && sudo systemctl --now enable docker
# 設置安裝包和GPG key的倉庫地址
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# 更新安裝源
sudo apt-get update
# 安裝nvidia-container-toolkit
sudo apt-get install -y nvidia-container-toolkit
# 配置Docker以便正確識別NVIDIA的容器運行時庫
sudo nvidia-ctk runtime configure --runtime=docker
# 重啟Docker
sudo systemctl restart docker
本以為萬事大吉,結(jié)果非常不幸,執(zhí)行第一步curl https://get.docker.com | sh && sudo systemctl --now enable docker
就出現(xiàn)如下錯誤:
E: Conflicting values set for option Signed-By regarding source https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64/ /: /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg !=
E: The list of sources could not be read.
官方網(wǎng)站https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/troubleshooting.html提到的第一個難點解疑就是針對該問題的,具體辦法就是執(zhí)行如下兩行命令,找到重復的安裝源并刪除之:文章來源:http://www.zghlxwxcb.cn/news/detail-466524.html
grep -l "nvidia.github.io" /etc/apt/sources.list.d/* | grep -vE "/nvidia-container-toolkit.list\$"
sudo rm /etc/apt/sources.list.d/nvidia-docker.list
接下來再依次執(zhí)行上述命令,就可修復Docker內(nèi)部的Nvidia工具箱,操作截圖如下所示:
進入Docker,執(zhí)行命令nvidia-smi
,就可以看到正確的Nvidia顯卡信息了:文章來源地址http://www.zghlxwxcb.cn/news/detail-466524.html
到了這里,關于docker內(nèi)部執(zhí)行nvidia-smi無任何顯示的解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!