news 2026/6/15 21:02:11

pytorch cuda安装实践:用set_sync_debug_mode,来测试gpu的使用情况

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
pytorch cuda安装实践:用set_sync_debug_mode,来测试gpu的使用情况

在 CUDA 12.4 环境下,要结合 torch.set_sync_debug_mode() 测试 GPU 使用情况,需先明确该函数的作用:它用于开启 CUDA 同步调试模式,检测异步操作中的错误,搭配现有的设备和线程配置,具体代码如下:
import torch

1. 定义 GPU 设备 ID

dev_id = 0

2. 设置使用的 GPU 设备(两种写法等价,推荐显式指定设备对象)

torch.cuda.set_device(f’cuda:{dev_id}')

或更推荐的写法:device = torch.device(f’cuda:{dev_id}')

3. 设置 CPU 线程数(仅影响 CPU 侧运算/数据传输的并行度,与 GPU 无关)

torch.set_num_threads(10)

4. 开启 CUDA 同步调试模式(核心新增代码)

mode=1:开启严格同步检查,捕获所有异步 CUDA 错误

mode=0:关闭(默认);mode=2:开启但仅警告不抛出异常

torch.set_sync_debug_mode(1)

---------------- 测试 GPU 使用情况的示例代码 ----------------

验证设备是否可用

if torch.cuda.is_available():
print(f"当前使用 GPU: {torch.cuda.get_device_name(dev_id)}“)
print(f"CUDA 版本: {torch.version.cuda}”)

# 创建测试张量并移至 GPU x = torch.randn(1000, 1000, device=f'cuda:{dev_id}') y = torch.matmul(x, x.T) # 执行 GPU 矩阵运算 print(f"GPU 运算结果形状: {y.shape}") # 强制同步 GPU 操作(配合调试模式,确保错误及时捕获) torch.cuda.synchronize(dev_id)

else:
print(“CUDA 不可用,请检查 GPU 驱动和 PyTorch 安装”)
CUDA 12.4 额外注意点
确保 PyTorch 安装时匹配 CUDA 12.4,例如使用命令安装:
bash
运行
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
调试时可搭配 torch.cuda.synchronize() 强制 GPU 同步,确保所有异步操作完成后再检查结果。
测试 GPU 使用率的补充建议
设备设置的等价写法
torch.cuda.set_device(‘cuda:0’) 是合法的,但更推荐使用 torch.device 对象进行后续操作,例如:device = torch.device(f’cuda:{dev_id}')
x = torch.randn(1000, 1000, device=device)

set_num_threads 的作用范围
该函数设置的是 CPU 线程数,用于 PyTorch 的 CPU 运算(如张量初始化、数据预处理),不会影响 GPU 的并行计算。
若要测试 GPU 本身的算力,可通过 torch.backends.cudnn.benchmark = True 开启 cuDNN 自动调优(可选)。

如果需要监控 GPU 实时使用率 / 显存占用(而非仅调试错误),可以在运行代码时搭配 nvidia-smi 命令:
新建终端,执行 watch -n 1 nvidia-smi(每秒刷新一次 GPU 状态)。
运行上述 Python 代码,观察终端中 GPU 使用率、显存占用的变化。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 10:31:17

VR 建筑爆破技术与安全培训

《VR建筑爆破技术与安全培训》项目基于 Unity3D 引擎开发,采用 URP 渲染管线,集成 XR Interaction Toolkit、RayFire for Unity、RT-Voice Pro 等插件资源,在 PC 端环境下配合 HTC Vive 设备进行测试与实现。 本项目重点聚焦于以下三个方面&…

作者头像 李华
网站建设 2026/6/15 10:36:14

从用户故事到测试用例:一张思维导图搞定需求分析与用例设计

当用户故事遇见思维导图‌在敏捷项目中,“用户故事(User Story)”是定义需求的最小单元,它以“作为[角色],我希望[达成目的],以便[获得价值]”的格式,描述了用户的真实诉求。然而,一…

作者头像 李华
网站建设 2026/6/15 10:32:22

2025最新!10个AI论文平台测评:研究生写论文必备神器

2025最新!10个AI论文平台测评:研究生写论文必备神器 2025年AI论文平台测评:为何值得一看? 随着人工智能技术的不断进步,AI在学术写作中的应用愈发广泛。然而,面对市场上琳琅满目的AI论文平台,…

作者头像 李华
网站建设 2026/6/14 12:20:55

游戏测试与普通软件测试的异同点

当测试遇见“第九艺术” 在数字化浪潮席卷全球的今天,软件测试作为保障产品质量的核心环节,其方法论与实践已日臻成熟。然而,随着游戏产业——这门被誉为“第九艺术”的领域——的爆炸式增长,衍生出的“游戏测试”岗位&#xff0…

作者头像 李华
网站建设 2026/6/15 10:36:16

怎么开展工业智能体研发以实现制造自主化转型?

在新一轮全球制造业变革中,智能体研发正成为推动工业智能化从“自动化”向“自主化”跃迁的核心力量。不同于传统依赖固定规则的控制系统,工业智能体(Industrial AI Agent)通过深度融合工业机理与前沿人工智能技术,实现…

作者头像 李华
网站建设 2026/6/15 11:34:58

python物流仓储进销存信息运输管理系统_ho5g5_pycharm django vue flask

目录已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!已开发项目效果实现截图 同行可拿货,招校园代理 python物流仓储进销存信息运输管理系统_ho5g5_pycharm django…

作者头像 李华