【知识】PyTorch种两种CUDA时间测量的方法对比

转载请注明出处:小锋学长生活大爆炸xfxuezhagn.cn

如果本文帮助到了你,欢迎***点赞、收藏、关注***哦~

在PyTorch中使用CUDA进行时间测量时,以下两者各有优缺点:

  • torch.cuda.current_stream(self._device).synchronize()
  • torch.cuda.Event(enable_timing=True)

torch.cuda.current_stream(self._device).synchronize()

  1. 功能 :torch.cuda.current_stream(self._device).synchronize() 会同步当前设备的CUDA流,确保之前的所有操作都完成。这可以用来在开始和结束计时前确保所有前面的CUDA操作都完成。
  2. 效率:这种方法一般来说开销较大,因为它会同步整个流,导致所有未完成的CUDA操作都必须等待完成。
  3. 使用场景:适用于需要确保所有CUDA操作完成的场景,但通常不适用于精确的计时测量。
python 复制代码
import torch
import time

# 确保所有之前的操作完成
torch.cuda.current_stream().synchronize()

start_time = time.time()

# 执行一些CUDA操作
# ...

# 再次同步
torch.cuda.current_stream().synchronize()

end_time = time.time()
print(f"Elapsed time: {end_time - start_time} seconds")

torch.cuda.Event(enable_timing=True)

  1. 功能 :通过CUDA事件来进行计时,torch.cuda.Event(enable_timing=True) 创建一个启用了计时的事件,可以用event.record()方法在代码中的特定位置记录时间戳,然后通过计算开始和结束事件之间的时间差来测量操作时间。
  2. 效率:这种方法通常更高效,因为它允许异步记录事件时间,并且只会同步特定的事件,而不是整个流。通常开销较小,适合精确的时间测量。
  3. 使用场景:适用于需要精确测量特定CUDA操作执行时间的场景,例如分析和优化代码性能。
python 复制代码
import torch

start_event = torch.cuda.Event(enable_timing=True)
end_event = torch.cuda.Event(enable_timing=True)

start_event.record()

# 执行一些CUDA操作
# ...

end_event.record()

# 同步并计算时间
torch.cuda.synchronize()
elapsed_time = start_event.elapsed_time(end_event)
print(f"Elapsed time: {elapsed_time} milliseconds")
相关推荐
程序员JerrySUN4 小时前
Jetson Edge AI 实战05:Secure Boot 到底在保护什么?PKC、SBK、Fuse 与可信启动链一次讲清【视频讲解】
arm开发·人工智能·安全·计算机视觉·目标跟踪·音视频
IamZJT_4 小时前
14|把改进用起来:小范围启用、错误经验撤销与完整回放
人工智能
const_qiu4 小时前
第 2.5 章 2.5.6:前端登录、Token 无感续签与路由守卫
java·前端·人工智能·状态模式
m4Rk_4 小时前
【论文阅读】Agent 记忆机制(102):UMA——用多个未来问题端到端训练一份共享记忆
论文阅读·人工智能·学习·开源·github
众趣科技4 小时前
实景数字孪生的 Palantir 时代:把现场搬进电脑之后,数字孪生还应该做什么?
人工智能·ai·数字孪生·空间计算·palantir
johnsong4 小时前
AI 前沿日报 2026-10-16:透明化革命
人工智能
AI风控技术指南5 小时前
Agent安全工程实践:从指令到执行,拆解五类风险与关键控制点
人工智能·大模型安全围栏·数美科技·ai安全围栏·agent安全评测·agent安全围栏·ai安全评测
一只落魄的蜂鸟5 小时前
【2026年-13期】 Becoming an Upgradable Professional in the Era of Intelligence
人工智能
岁月刘声机5 小时前
国标实施|《法律法规电子文件》三项标准正式施行,电子文档可信闭环成关键
大数据·人工智能·microsoft
把我格子衫拿来5 小时前
本周科技热点:Meta 新模型、微软 Maia 300 与 AI 智能体新动向(10.12—10.15)
人工智能·科技·microsoft