CUDA 安装与运行维护科普 · Dylan AI Agent Nexus

CUDA Basics · Role · Versioning · Operations

什么是 CUDA

CUDA 是 NVIDIA 的并行计算平台与编程模型,为深度学习等高并发计算提供 GPU 加速能力。对 AI 场景而言,CUDA 与驱动、cuDNN、TensorRT 共同构成“GPU 加速栈”。

  • NVIDIA 驱动:让系统识别并管理 GPU 的基础。
  • CUDA:提供通用 GPU 计算接口与工具链。
  • cuDNN:卷积/激活/归一化等深度学习算子的高性能实现。
  • TensorRT:面向生产推理的图优化与量化引擎。

版本匹配与获取渠道(原则)

  • 版本矩阵:确保 驱动 ↔ CUDA ↔ cuDNN ↔ PyTorch/TensorRT 相互兼容;优先选用社区/厂商已验证组合。
  • 获取渠道:驱动与 CUDA/Toolkit 来自 NVIDIA 官方;PyTorch/TensorRT 选择与 CUDA 匹配的预编译包。
  • 单机/多 CUDA 并存:允许在同机安装多个 CUDA 版本,但需清晰管理 PATH/LD_LIBRARY_PATH 与软链接,避免“串库”。
  • 升级策略:新版本先在灰度环境验证,预留回滚方案,再上线生产。

本页不提供安装教程,重点说明“做什么与注意什么”。安装操作建议遵循官方文档或由运维人员执行。

运行时常见环境变量(理解其作用)

  • PATH/LD_LIBRARY_PATH:决定可执行文件与动态库搜索路径;多版本并存时需按项目切换。
  • CUDA_HOME/CUDA_PATH:指向 CUDA Toolkit 根目录,便于编译与工具链定位。
  • CUDA_VISIBLE_DEVICES:限制进程可见的 GPU 列表(如 0,1);用于资源隔离与调度。
  • NCCL/KMP/OMP 等:分布式通信与并行相关变量,影响带宽利用与线程亲和性。

性能与稳定(实践要点)

  • 显存与混合精度:优先启用 AMP(FP16/BF16)降低显存占用与时延;关注数值稳定性。
  • 并发与亲和性:合理设置线程/进程并发;避免与高 IO 任务抢占同一 NUMA 节点。
  • 驱动与固件:定期关注稳定版驱动;升级前记录当前版本并准备回滚。
  • 监控与告警:功耗、温度、显存/内存、PCIe 带宽、GPU 利用率与时延需纳入监控面板。

排错思路(常见问题)

  • “找不到 GPU”:检查驱动安装与 nvidia-smi 是否可用;容器内需开启 GPU 直通参数。
  • “库版本不匹配”:核对 驱动/CUDA/cuDNN/PyTorch 版本矩阵;优先使用与 CUDA 匹配的预编译包。
  • “性能退化/时延抖动”:排查温度降频、PCIe 降速、显存碎片;评估 TensorRT/图优化与批处理策略。
  • “容器里不可用”:确认使用 NVIDIA Container Toolkit,并在启动时添加 --gpus all 等参数。

经验法则:先验证硬件(nvidia-smi)、再验证驱动/Toolkit、最后验证框架;逐级排查能快速定位问题层级。

维护与合规

  • 变更留痕:记录每次驱动/Toolkit/框架升级的版本与变更影响,支持审计与回溯。
  • 最小权限:限制运维账户与容器权限,避免误操作影响生产。
  • 备份策略:对模型权重、向量库与关键依赖做定期备份与恢复演练。
已模拟提交:数据已缓存到本地(等待后端 API 接入)