1 想法
不为别的,下次再有为什么优化不行,也能有理有据,生动直观。减轻对于sanity值的消耗。
2 实践
Ubuntu的Nvidia官方镜像安装,可以自搜,本站有。nsys版本号如下:
NVIDIA Nsight Systems version 2023.1.1.127-32365746v0
2.1 CLI命令
这里只介绍几个可能常用的,因为主要还是用GUI,以防个人电脑出现各种问题(主要是连接不了内网,然后SSH用不了,你知道的,这对一个颠沛流离的人来说,是一件常有的事情)。
nsys profile:
开始一个新的性能分析会话。这是最常用的命令,主要用于收集应用程序的性能数据。
-o <output>
:指定输出文件名。-t <trace>
:指定要跟踪的活动(例如,cuda,opengl,osrt 等)。--duration <seconds>
:设置采集数据的持续时间。
nsys launch:
与 nsys profile
类似,但可以直接指定应用程序命令和参数
<application>
:指定要启动的应用程序。<arguments>
:为应用程序提供的命令行参数。
nsys stop
nsys report
-i <input>
:指定输入的性能数据文件。-o <output>
:指定输出报告文件名。--format <format>
:指定报告格式(例如,html,txt,csv)。
nsys extract
- 从性能数据文件中提取特定的信息,用于进一步的分析和处理。
nsys stats
,统计输出文件的内容
-i <input>
:指定输入的性能数据文件
2.1.1 你看,这就是docker ((;>
那些没权限的docker是这样的
WARNING: CPU IP/backtrace sampling not supported, disabling. Try the 'nsys status --environment' command to learn more. WARNING: CPU context switch tracing not supported, disabling. Try the 'nsys status --environment' command to learn more. // nsys status --environment查看情况 Timestamp counter supported: Yes CPU Profiling Environment Check Root privilege: enabled Linux Kernel Paranoid Level = 2 Linux Distribution = Ubuntu Linux Kernel Version = 3.10.0-1160.el7.x86_64: Fail Linux perf_event_open syscall available: Fail Sampling trigger event available: Fail Intel(c) Last Branch Record support: Not Available CPU Profiling Environment (process-tree): Fail CPU Profiling Environment (system-wide): Fail
2.1.2 正常情况
正常情况必须使用root账号,uno?@服务器管理员
分析与输出
nsys profile -o analysis_test -t cuda,osrt ./convolution
html可视化
nsys report -i analysis_test .qdrep -o test_report --format html
提取信息
nsys extract -i analysis_test .qdrep -o cuda_api_calls --cuda-api-trace
统计信息
nsys stats -i analysis_test .qdrep
2.2 GUI
2.2.1 连接步骤
小插曲:服务器内存又爆了,这波,又得清理空间
2.2.2 使用方法
非常简单!
2.2.3 目前的可用信息
选择左边的CUDA Summary,直接就能看到各个部分用时,方便!
3 总结
非常简单!
目前的需求就到这,nsight compute的独特作用尚未显现,你看人家nsys可视化多好看
(bug还是有的,nsys解析文件卡住。。。话说我为什么要为人家测试新版软件?)