建置 GPU 環境 === ###### tags: `NVIDIA` ###### tags: `NVIDIA`, `GPU`, `nvidia driver`, `cuda` <br> [TOC] <br> ## 如何在全新的 Ubuntu 20.04 上,安裝 nvidia driver (520 以上), cuda (11.8以上), docker with nvidia runtime? [ChatGPT] 要在全新的 Ubuntu 20.04 上安裝 NVIDIA 驅動程式(版本 520 或以上)、CUDA(版本 11.8 或以上)、以及 Docker 並啟用 NVIDIA Runtime,您可以按照以下步驟進行操作: 1. **安裝 NVIDIA 驅動程式:** 請使用以下命令來安裝 NVIDIA 驅動程式。您可以使用 ubuntu-drivers 工具來自動安裝適合您的硬體的驅動程式: ```bash sudo ubuntu-drivers autoinstall ``` 或者,如果您知道您的 GPU 型號,也可以直接安裝特定版本的驅動程式。例如,如果要安裝版本 520.39.01: ```bash sudo apt-get install nvidia-driver-520 ``` 2. **安裝 CUDA:** NVIDIA CUDA 是一個並行計算平台和應用程式程式庫的集合,可以加速 GPU 上的計算工作。要安裝 CUDA,您可以使用 NVIDIA 提供的官方安裝程式,它會自動下載並安裝所需版本的 CUDA。 首先,前往 NVIDIA 官方網站的 CUDA 下載頁面(https://developer.nvidia.com/cuda-downloads) 選擇適合您的系統配置的 CUDA 版本,然後按照安裝指南中的步驟進行操作。 - [Linux + Ubuntu 20.04](https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local) ```bash wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda-repo-ubuntu2004-12-2-local_12.2.2-535.104.05-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2004-12-2-local_12.2.2-535.104.05-1_amd64.deb sudo cp /var/cuda-repo-ubuntu2004-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda ``` 3. **安裝 Docker:** 您可以使用以下命令安裝 Docker: ```bash sudo apt-get update sudo apt-get install docker.io ``` 4. **安裝 NVIDIA Container Toolkit:** NVIDIA Container Toolkit 是用於 Docker 的 NVIDIA GPU 支援工具,它使容器可以與主機上的 NVIDIA GPU 進行通信。 首先,添加 NVIDIA Container Toolkit 存儲庫: ```bash curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/nvidia-archive-keyring.gpg] https://nvidia.github.io/nvidia-docker/ubuntu20.04 $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/nvidia-docker.list ``` 然後,更新套件資料庫並安裝 NVIDIA Container Toolkit: ```bash sudo apt-get update sudo apt-get install nvidia-container-toolkit ``` - ### 備註:[官方] 安裝特定版本 - [Installing the NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#with-apt-ubuntu-debian) ```bash= # 1. Configure the production repository: 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/stable/deb/nvidia-container-toolkit.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 # 2. Optionally, configure the repository to use experimental packages: sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list # 3. Update the packages list from the repository: sudo apt-get update # 4. Install the NVIDIA Container Toolkit packages: export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.17.8-1 sudo apt-get install -y \ nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION} ``` 5. **啟用 NVIDIA Runtime:** 為了在 Docker 容器中使用 NVIDIA GPU,您需要在 Docker 守護程序的配置中啟用 NVIDIA Runtime。請打開 Docker 守護程序配置文件 `/etc/docker/daemon.json`,如果不存在,則創建它: ```bash sudo nano /etc/docker/daemon.json ``` 將以下內容添加到配置文件中: ```json { "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia" } ``` 保存配置文件,然後重新啟動 Docker 服務: ```bash sudo systemctl restart docker ``` 現在,您已經成功在 Ubuntu 20.04 上安裝了 NVIDIA 驅動程式(版本 520 或以上)、CUDA(版本 11.8 或以上)和 Docker,並且已啟用 NVIDIA Runtime,以便在 Docker 容器中使用 NVIDIA GPU。請確保您的硬體和系統配置與這些軟體版本相容。 <br> ## 參考資料 - [Azure / 虛擬機器(VM) (包含GPU) / 查看 GPU 資訊](https://hackmd.io/bMasy0__T3-lqFnNFklgvw#%E6%9F%A5%E7%9C%8B-GPU-%E8%B3%87%E8%A8%8A)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up