快轉到主要內容

Nvidia Container Toolkit優點:不想裝CUDA但是想跑CUDA,那就改在Docker容器裡跑吧

· 民國113年甲辰年
·
切換繁體/簡體
分類 資訊科技 虛擬機與容器技術
標籤 Nvidia CUDA Docker
目錄

Nvidia Container Toolkit是Nvidia開發的開源軟體,原始碼位於Github,當然Nvidia驅動部分還是閉源的。

1. Nvidia Container Toolkit優點?
#

有些程式(就是在說你,Tensorflow)非常吃Nvidia閉源驅動+CUDA+Linux系統的版本,三位一體只要有個版本不對就會出亂子,甚至CUDA只要差一兩個版本程式就會不給跑。

這個時候採用Docker容器化開發可以降低困擾,將CUDA塞在Docker裡面就能迴避Linux宿主機版本的要求。

Nvidia Container Toolkit僅求要求宿主機安裝Nvidia閉源驅動即可,卻不需要安裝CUDA Toolkit。

並且由於容器有多重複製的特性,開發者能夠按照不同專案需求開不同的容器環境部署服務,各個容器的CUDA版本是彼此獨立的。

此外,依賴CUDA的cudnn、TensorRT應也可如法炮製。

宿主機只需要安裝Nvidia閉源驅動,剩下的交給Docker容器去處理就好了。而負責讓容器內的CUDA跟宿主機Nvidia驅動溝通的媒介,就是Nvidia Container Toolkit了。


Nvidia Container Toolkit還可以解決依賴特定發行版的問題。如果你系統用的不是Nvidia原廠支援的發行版(Deb-based、RPM-based)的就GG了,這很不公平。

Nvidia Container Toolkit僅依賴宿主機的Nvidia閉源驅動,卻不需要安裝CUDA Toolkit。

於是它可以讓Linux宿主機在沒有安裝CUDA Toolkit的情況下,於Docker/Podman容器使用CUDA進行計算。

特別適合給不方便安裝CUDA的Linux使用。

這適用一種極端的情況:immutable distro,例如Fedora Silverblue、openSUSE MicroOS、Vanilla OS等等。他們雖然可以裝Nvidia驅動,但是沒辦法安裝CUDA套件。透過Nvidia Container Toolkit即可繞過這個問題。

2. 安裝Nvidia Container Toolkit
#

請見:Ubuntu LTS如何安裝Nvidia顯示卡驅動

參考資料
#

Installing the NVIDIA Container Toolkit - NVIDIA CONTAINER TOOLKIT

相關文章


此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。