最近,我花了一些時間,將一台伺服器升級到 Ubuntu 22.04 並嘗試安裝 Tesla K80 GPU 的驅動程式。 在網絡上,我注意到許多人在進行類似操作時遇到了各種問題,心裡已經做好可能不能用的打算了。 雖然 Tesla K80 已經算舊卡了,但一張好的 GPU 還是需要花費好幾萬,所以我還是決定先想辦法把它安裝好。

在安裝的過程中,真的遇到了不少坑,所以只解決一半的問題,但還是寫篇文章記錄一下,以免日後又忘了。

先講結論:驅動可以安裝,CUDA Toolkit 及 cuDNN 都不能安裝,算是解決一半問題而已,最後我還是改用 Ubuntu 20.04。

初步嘗試

第一步,當然就是先去官網找驅動並下載。 然而,當您這麼做了,您會發現官方並未提供針對針對 K80 的 Ubuntu 22.04 驅動程式。 於是我嘗試安裝了 Ubuntu 20.04 的驅動程式,並安裝了最新版本的 nvidia-driver-535。 幸運的是,我成功安裝了,不幸的是,系統還是沒有識別到 K80 GPU。

研讀了一下官方文件後,才知道最新的驅動 nvidia-driver-535 並不支援 K80 GPU,而最新支援 K80 GPU 的驅動是 nvidia-driver-470。 於是,我迅速安裝了 nvidia-driver-470,結果又出現了 xorg-video-abi-24 相依性套件問題。

安裝過程

花了很多時間在 Google 搜尋也找不到什麼解決方案後,我突然發現 Ubuntu 22.04 官方提供的套件清單(source list)中就有包含 nvidia-driver-470,所以花了半天只需輕鬆使用 apt 指令安裝就好了。

            
                # 因為之前測試,裝了一些不合適的驅動,所以先移除
                sudo apt remove --purge '^nvidia-.*'
                sudo apt remove --purge '^cuda-.*'
                sudo apt autoremove

                # 安裝驅動
                sudo apt install nvidia-driver-470

                # 如果安裝成功,輸入以下指令,就能看到 GPU 的資訊
                nvidia-smi
            
        

不過驅動程式是可以安裝,也能讓程式跑在 GPU 上,CUDA Toolkit 不管怎麼測試還是不能安裝,所以最後還是決定改用 Ubuntu 20.04。

使用 ubuntu-drivers

在找資料過程中,還發現另外一種快速的安裝方法,提供大家參考。

            
                # 安裝 ubuntu-drivers-common 套件
                sudo apt install ubuntu-drivers-common

                # 列出可用的驅動程式 
                ubuntu-drivers devices

                # 自動安裝上面列表中標記為 recommended 的驅動
                sudo ubuntu-drivers autoinstall