核心要点

  • CUDA 是 NVIDIA GPU 并行计算平台

  • PyTorch 通过 CUDA 后端在 GPU 上执行张量运算

  • 会用 .to(cuda) 和 torch.cuda.is_available()

  • 了解 cuDNN 加速卷积等算子

简要回答

CUDA 是 NVIDIA 的 GPU 并行计算平台;PyTorch 内置 CUDA 后端,将张量和算子放到 GPU 上加速训练,通过 tensor.to("cuda") 和 cuda 设备管理使用。

标准回答

一、CUDA

(Compute Unified Device Architecture)是 NVIDIA 提供的 GPU 通用并行计算平台,含驱动、运行时、C/C++ 编译器及 cuBLAS、cuDNN 等库。

二、与 PyTorch 的关系

  • PyTorch 的 torch.cuda 模块封装 CUDA API,在 GPU 上执行 张量 运算
  • 核心算子(矩阵乘、卷积)调用 cuBLAS/cuDNN 高度优化
  • 训练大模型时 GPU 相对 CPU 可有 10~100× 加速

三、基本用法

示例代码可以这样理解:
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device)
x = x.to(device)

面试里不要只停在公式或名词,可以补 CUDA 对训练稳定性、泛化、收敛速度或显存/算力的影响。再说明一个常见调参或排错场景,面试官会更容易判断你真的用过这些方法。

四、注意

需安装与 PyTorch 版本匹配的 CUDA 驱动;多卡用 cuda:0DistributedDataParalleltorch.backends.cudnn.benchmark = True 可优化固定输入尺寸的卷积。
CPU 训练仅适合小实验;深度学习 工业化几乎依赖 GPU/TPU。AMD 用 ROCm,Apple 用 MPS 后端。

回答思路

  • 【定义】用一句话说清「什么是 CUDA?它与 PyTorch 有何关系」

  • 【原理】讲清关键机制或步骤(2~3 点)

  • 【例子】举一个真实项目、论文或产品中的例子

  • 【对比】与易混淆概念或替代方案比较(如有)

  • 【收尾】总结适用场景 + 一个局限或风险

延伸学习

工具:PyTorch。知识库:深度学习基础深度学习训练技巧。动态见 AI 资讯

常见误区

⚠️ 常见踩坑

误区一:容易答偏的地方:有 GPU 却忘记 .to(device) 导致训练仍在 CPU;混淆 CUDA 版本与 cuDNN 版本;多卡 DataParallel 瓶颈未改用 DDP

追问

追问 1PyTorch 安装的 CUDA 版本和系统驱动关系?

PyTorch wheel 自带特定 CUDA runtime;系统 NVIDIA 驱动须 ≥ 该版本要求。驱动过旧会无法初始化 GPU;可用 nvidia-smi 查看驱动版本。

追问 2多 GPU 训练有哪些方式?

DataParallel(简单但效率低)、DistributedDataParallel(推荐,每进程一卡)、FSDP 大模型分片。需 launch 多进程并设 MASTER_ADDR/PORT。

追问 3cuDNN 是什么?

NVIDIA 深度神经网络库,提供卷积、RNNNormalization 等 GPU 实现。PyTorch 默认调用 cuDNN;确定性训练可设 cudnn.deterministic=True 略损速度。

🔗 相似问题

同一考点的不同问法,换着练更稳

没找到想看的面试题?把你想看的告诉我们 →

延伸学习

按主题分类的相关资源,便于系统复习