Ubuntu 共享Gpu
时间: 2025-05-31 07:54:04 浏览: 12
### 实现 GPU 共享配置和使用
在 Ubuntu 系统上实现 GPU 的共享功能通常涉及 NVIDIA 提供的技术支持,特别是通过 CUDA 和 Docker 来完成。以下是关于如何在 Ubuntu 上设置并启用 GPU 共享的相关技术细节。
#### 1. 安装必要的驱动程序和支持软件
为了使 GPU 能够被识别并与应用程序交互,需要先安装 NVIDIA 驱动以及相关的库文件。具体操作如下:
- 更新系统包管理器缓存:
```bash
sudo apt update && sudo apt upgrade -y
```
- 添加 NVIDIA PPA 并安装最新版本的驱动程序:
```bash
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-driver-525
```
这里假设使用的是较新的 NVIDIA 显卡驱动[^2]。
#### 2. 启用 CUDA 支持
CUDA 是 NVIDIA 开发的一个通用计算平台,允许开发者利用 GPU 进行高性能运算。要激活它,在安装好相应的驱动之后还需要下载对应的工具链:
- 下载官方发布的 CUDA Toolkit:
访问 [NVIDIA CUDA 工具包](https://developer.nvidia.com/cuda-downloads),选择适合的操作系统架构与版本号进行本地部署。
- 解压压缩包并将路径加入到环境变量中以便后续调用编译命令或其他依赖项时能够自动定位资源位置:
```bash
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
```
#### 3. 使用 Docker 构建容器化应用以简化跨项目间的兼容性问题解决流程
Docker 可以为不同的实验场景提供一致性的运行条件,而无需担心底层硬件差异带来的影响;同时配合 `nvidia-container-toolkit` 插件还可以让多个独立进程安全地共享同一物理设备上的算力资源而不互相干扰。
- 安装基础组件:
```bash
# Install packages to allow apt to use a repository over HTTPS:
sudo apt-get install ca-certificates curl gnupg lsb-release
# Add the official GPG key of docker-ce repo.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Set up stable channel as default source list entry point.
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Perform actual installation after refreshing package index again.
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
```
- 整合 NVIDIA Container Runtime 功能扩展模块:
```bash
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
```
此时已经完成了大部分准备工作,可以通过简单的测试脚本来验证整个链条是否正常工作:
```python
import torch
print(torch.cuda.is_available()) # Should output True if everything works fine.
```
以上过程涵盖了从基本驱动加载直至高级框架集成在内的全方位指导说明[^3]。
阅读全文
相关推荐


















