快轉到主要內容

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

分類   資訊科技 虛擬機與容器技術
標籤   Nvidia Docker
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

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

相關文章

虛擬機直通Nvidia GPU後讓Linux宿主機重新使用GPU
分類   資訊科技 虛擬機與容器技術
標籤   GPU Passthrough PCI Passthrough Libvirt Nvidia
解鎖Arch Linux的Nvidia vGPU虛擬化,增強QEMU/KVM虛擬機圖形效能
分類   資訊科技 虛擬機與容器技術
標籤   GPU Virtualization Nvidia Arch Linux
讓WSL Docker的OpenGL程式可以使用Windows GPU硬體加速
分類   資訊科技 虛擬機與容器技術
標籤   Nvidia Windows Subsystem for Linux Docker

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

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