news 2026/3/24 1:28:33

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

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

TCP/IP协议栈纯RTL语言实现:含TCP Server/Client与ICMP/Ping的...

TCP IP协议栈IP,纯RTL语言实现,包含tcp server,tcp client,icmp,ping 等,可移植任何平台。用纯RTL实现TCP/IP协议栈听起来像电子工程师的极限运动——既要处理网络协议的状态机,又要保证时序收敛,还得考虑跨…

作者头像 李华
网站建设 2026/3/15 11:39:12

c++ STL容器之list 实现

代码中的注释已经写的比较清楚了&#xff0c;就直接上代码吧#include <iostream>// 节点定义 template<typename T> struct ListNode {ListNode *prev;ListNode *next;T data; };template<typename T> class MyList { private:using Node ListNode<T>…

作者头像 李华
网站建设 2026/3/15 11:42:31

【小白笔记】删除链表的倒数第N个节点与删除链表的中间节点,环形链表(两类双指针“滑窗与速度差”)

这个问题是典型的**“双指针”**应用场景。它的巧妙之处在于&#xff1a;不需要先测量整个链表的长度&#xff0c;通过两个指针的“距离差”&#xff0c;只需一次遍历就能找到倒数第 NNN 个节点。1. 核心思路&#xff1a;快慢指针&#xff08;等距离滑动&#xff09; 要删除倒数…

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

测试基础|执行验收测试需要注意哪些?

通过本文的介绍&#xff0c;供大家了解验收测试的重要性以及它如何帮助开发测试人员确保软件应用程序满足所需的规范。 概述 验收测试涉及从用户的角度验证应用程序的验收&#xff0c;评估软件是否符合业务要求&#xff0c;以确定其是否可以发布。 在软件开发生命周期(Softw…

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

算法题 二进制表示中质数个计算置位

二进制表示中质数个计算置位 问题描述 给你两个整数 left 和 right&#xff0c;请你找到在 [left, right] 范围内&#xff0c;计算置位位数为质数的整数个数。 计算置位&#xff1a;指二进制表示中 1 的个数。质数&#xff1a;大于 1 且只能被 1 和自身整除的数。 注意&…

作者头像 李华
网站建设 2026/3/15 11:44:29

β-Amyloid (1-42), Rat;DAEFGHDSGFEVRHQKLVFFAEDVGSNKGAIIGLMVGGVVIA

一、基础性质英文名称&#xff1a;β-Amyloid (1-42), Rat&#xff1b;Amyloid β-Protein (1-42), Rat&#xff1b;Rat Aβ1-42中文名称&#xff1a;大鼠源 β- 淀粉样蛋白 (1-42)&#xff1b;大鼠 β- 淀粉样肽 (1-42)单字母多肽序列&#xff1a;DAEFGHDSGFEVRHQKLVFFAEDVGSN…

作者头像 李华