工具箱怎么装更合适
CUDA 工具箱提供编译与运行所需的一套库与工具。服务器上有三条常见路径:从官方仓库装系统级包、在环境管理器里装某个版本、以及直接用容器镜像。推理部署优先选容器镜像,因为环境随镜像走,不会污染宿主机;需要在本机编译算子时,环境内安装能避免多个项目互相影响。
官方仓库方式(发行版示意)
官方仓库方式(发行版示意)
# 按官方下载页生成的命令添加软件源后:
sudo apt update
sudo apt install -y cuda-toolkit-<版本号>
# 验证:能打印版本号即安装成功
nvcc --version
# 注意:工具包装好不等于驱动满足要求,两者要分别核对环境内安装方式
环境内安装方式
# 在独立环境里安装指定版本,多版本共存互不影响
conda install -c nvidia cuda-toolkit=<版本号>
nvcc --version
# 切换环境后版本随之变化,排查时先确认当前是哪套环境
which nvcc三种路径对照
| 路径 | 优点 | 代价 |
|---|---|---|
| 系统级仓库包 | 全局可用,便于本机编译 | 版本全局唯一,易与项目要求冲突 |
| 环境内安装 | 多版本共存,隔离性好 | 只在当前环境生效,切环境要确认 |
| 容器镜像 | 环境随镜像走,不污染宿主机 | 镜像体积大,编译需在容器内进行 |
典型使用场景
- 容器化部署:直接用官方镜像,宿主机只保留驱动
- 编译自定义算子:在环境内安装匹配版本,避免影响其他项目
- 排查版本不匹配:确认当前命令行使用的是哪套工具箱
- 多项目共存:为不同项目建立各自环境,版本互不干扰
- 验证安装结果:用版本查询命令与一次小规模编译确认
驱动与工具箱是两层:驱动只有一套且全局生效,工具箱可以按环境并存多个版本,升级与隔离的粒度完全不同。
宿主机装了新工具箱但驱动没跟上会在运行时暴露:编译能过,执行时报驱动能力不足,升级顺序应先驱动后工具箱。