news 2026/10/3 1:11:04

如何快速测试GPU的推理速度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何快速测试GPU的推理速度
importtorchimporttime# 1. 设置设备iftorch.cuda.is_available(): device=torch.device("cuda")print(f"检测到设备: {torch.cuda.get_device_name(0)}")else: device=torch.device("cpu")print("使用 CPU")# 2. 增加矩阵尺寸,让 GPU 有事可做 (比如 4000x4000 或 8000x8000)# 1000x1000 对高端卡来说太小了size=4000print(f"正在初始化矩阵 (Size: {size}x{size})...")A=torch.randn(size, size,device=device)B=torch.randn(size, size,device=device)# --- 关键步骤:GPU 预热 (Warm-up) ---print("正在进行 GPU 预热 (第一次运行通常很慢)...")# 跑几次空运算,触发库加载和初始化for_inrange(5): _=torch.mm(A, B)torch.cuda.synchronize()print("预热完成,开始正式计时!")# ------------------------------------# 3. 正式计时 GPUtorch.cuda.synchronize()start_time=time.time()# 循环多次取平均值更准确loop_times=10for_inrange(loop_times): C=torch.mm(A, B)torch.cuda.synchronize()# 等待所有计算完成end_time=time.time()avg_gpu_time=(end_time - start_time)/ loop_times print(f"GPU 平均运行时间: {avg_gpu_time:.5f} 秒")# 4. 对比 CPU (如果尺寸太大,CPU可能会非常慢,建议 CPU 测试时如果太慢就减少 loop)iftorch.cuda.is_available(): print("正在准备 CPU 数据 (这可能需要一点时间)...")A_cpu=A.cpu()B_cpu=B.cpu()start_time_cpu=time.time()# CPU 一般不需要像 GPU 那样严格预热,但跑一次也没坏处# 注意:如果 size 是 4000,CPU 跑这 10 次可能会很慢cpu_loops=2# 减少 CPU 循环次数以免等太久for_inrange(cpu_loops): C_cpu=torch.mm(A_cpu, B_cpu)end_time_cpu=time.time()avg_cpu_time=(end_time_cpu - start_time_cpu)/ cpu_loops print(f"CPU 平均运行时间: {avg_cpu_time:.5f} 秒")# 修正加速比公式:CPU时间 / GPU时间speedup=avg_cpu_time / avg_gpu_time print(f"---")print(f"真实性能对比: GPU 比 CPU 快 {speedup:.2f} 倍")
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 13:59:46

75、深入理解与运用SELinux:保障Linux系统安全

深入理解与运用SELinux:保障Linux系统安全 1. 通过布尔值管理SELinux SELinux策略规则编写和模块创建复杂且耗时,错误的策略规则可能危及Linux系统安全。不过,SELinux提供了布尔值(Booleans),让策略修改变得简单。 布尔值就像一个开关,可开启或关闭设置。使用布尔值开…

作者头像 李华
网站建设 2026/10/2 8:43:10

JetBrains Maple Mono终极指南:免费开源编程字体的完美选择

JetBrains Maple Mono终极指南:免费开源编程字体的完美选择 【免费下载链接】Fusion-JetBrainsMapleMono JetBrains Maple Mono: The free and open-source font fused with JetBrains Mono & Maple Mono 项目地址: https://gitcode.com/gh_mirrors/fu/Fusion…

作者头像 李华
网站建设 2026/10/3 0:06:21

兴顺物流管理系统(11451)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告)远程调试控屏包运行 三、技术介绍 Java…

作者头像 李华
网站建设 2026/10/3 5:10:56

2025年智能家居完整指南:掌握Home Assistant核心功能

2025年智能家居完整指南:掌握Home Assistant核心功能 【免费下载链接】awesome-home-assistant A curated list of amazingly awesome Home Assistant resources. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-home-assistant 在智能家居快速发展的…

作者头像 李华
网站建设 2026/10/2 7:29:15

Notion + Miro二合一?我用3分钟零成本搭了个私有知识库,太爽了!

Notion Miro二合一?我用3分钟零成本搭了个私有知识库,太爽了!我曾是Notion的重度用户,但用久了总有两个心病:一是所有数据都存在别人的服务器上,隐私和安全始终悬着一把剑;二是文档和白板功能是…

作者头像 李华
网站建设 2026/10/2 6:46:01

Codeforces Round 1070 (Div. 2) A~D F

最近手感差的很,A能WA两发写20min,D调不出来,不过看别人的AC代码dp思路跟自己也不太一样…还是自己太菜了,加训div2了。 A. Operations with Inversions Given an array a1,a2,…,ana_1, a_2, \ldots, a_na1​,a2​,…,an​. In o…

作者头像 李华