当前位置: 首页 > news >正文

vLLM推理引擎教程6-Nsight Systems性能分析

1、概念

我们需要通过推理引擎极致地优化推理的性能,所以必不可少需要一个性能分析工具。

本文介绍Nvidia Nsight Systems,它时一个低开销的系统级性能分析器。它的核心设计目标是回答一个关键问题:“我的应用程序在运行过程中,时间到底花在了哪里”。

Nsight Systems专注于应用程序的行为,它通过收集代码在CPU和GPU上的执行细节,生成一个跨整个系统的时间线视图,让开发者能够清晰地看到线程活动、GPU内核执行、内存拷贝、API调用等事件之间地因果关系和时序关系。

2、安装

目标:在linux服务器上跟踪应用程序的执行,在windows上进行可视化分析。

下载地址:https://developer.nvidia.com/nsight-systems/get-started

Windows安装:

linux安装:

Linux安装命令:

sudo rpm -ivh NsightSystems-linux-cli-public-2025.6.1.190-3689520.rpm

Linux端验证成功:

nsys --version

返回结果:

3、Python版本GPU性能测试

python测试代码:

import torch import time print("Creating tensors on GPU...") x = torch.randn(10000, 10000).cuda() y = torch.randn(10000, 10000).cuda() print("Performing matrix multiplication...") start = time.time() z = torch.mm(x, y) torch.cuda.synchronize() end = time.time() print(f"Done! Time: {end - start:.2f} seconds") print(f"Result shape: {z.shape}")

执行命令日志:

(vllm_python312) [work@iZuf6hp1dkg31metmko4pbZ test]$ nsys profile --trace=cuda,nvtx,osrt --output=matrix_mult_trace --force-overwrite true python test_gpu.py Collecting data... Creating tensors on GPU... Performing matrix multiplication... Done! Time: 0.10 seconds Result shape: torch.Size([10000, 10000]) Generating '/tmp/nsys-report-1078.qdstrm' [1/1] [========================100%] matrix_mult_trace.nsys-rep Generated: /data/xiehao/workspace/code/test/matrix_mult_trace.nsys-rep

将nsys-rep文件在Windows端通过GUI打开:

上面的python代码涉及GPU操作的有3部分:

- x复制到GPU,32ms

- y复制到GPU,31ms

- mm操作,47ms

http://www.cnnetsun.cn/news/91916.html

相关文章:

  • 基于MATLAB的燃料电池汽车参数匹配与能量管理策略优化及仿真模型研究资料库
  • AM247L-0000伺服电机
  • DoraemonKit(DoKit)使用教程:从集成到实战
  • 构筑 AI 理论体系:深度学习 100 篇论文解读 第十九篇:序列建模的焦点——注意力机制 Attention Mechanism (2015)
  • 【小白笔记】移除元素与删除有序数组中的重复项与轮转数组(三步反转)
  • 什么是关键字驱动测试?
  • 前沿技术借鉴研讨-2025.12.16(超声心动图综述/妊娠期糖尿病/降低CTG解读主观性)
  • 别让发成绩,耗掉你课后的半小时
  • 企业级 Prompt 管理中心:实验分流 + 曝光埋点 + 可回溯,版本化/AB/DSL/可观测全齐
  • 执行 install.sh 报错 `env: ‘bash\r‘: No such file or directory` 怎么解决?
  • Part 10|我给这套系统划的第一个边界
  • agent-zh.md
  • 为什么过滤 rtmpt 而不是 rtmp?
  • Navicat x 达梦技术指引 | 启用和配置AI助手
  • Transformer的注意力权重的理解
  • 解构 Codigger:从内核到无限生态的“进化阶梯”
  • 基于Python的高考志愿报名推荐系统源码设计与文档
  • 飞桨PaddlePaddle入门与核心实践
  • 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第四十讲)
  • 热销榜单:2025年高口碑数字人推荐,解决你的选择难题!
  • 应“双碳”考核!安科瑞通信机房能耗监测方案,让PUE管控精准落地
  • 1天净流入10亿!A500ETF南方凭什么成为布局中国核心资产的优选?
  • Android 基础入门教程之RelativeLayout(相对布局)
  • 基于微信小程序的跑腿系统的设计与实现毕业设计项目源码
  • 基于SpringBoot的社区老年人健康知识阅读分享管理系统毕业设计项目源码
  • MySQL迁移达梦数据库,Quartz报错“无效的表或视图名”
  • Dify入门:搭建一个文件翻译智能体
  • 基于SpringBoot的金丰旺零售商经营平台系统毕业设计项目源码
  • Git:分布式版本控制的哲学、理论与创新
  • 农业产量预测的终极方案:R语言中XGBoost+随机森林+ARIMA融合技巧