• NVIDIA nvprof / nvvp
  • NSight系列
    • Nsight Systems
      • 本地使用
      • 远程使用
      • 结果分析
    • Nsight Compute
      • 本地使用
      • 远程使用
      • 结果分析

NVIDIA nvprof / nvvp

  • 由2008年起开始支持的性能分析器,交互性好,利于使用
  • 记录运行日志时使用命令nvprof
  • 可视化显示日志时使用命令nvvp,全称是NVIDIA Visual Profiler
  • nvprof/nvvp方式运行时消耗资源较多,数据统计容易不准确,推荐使用NSight
  1. 在终端运行nvvp
  2. 点击file -> new session,在file里选择可执行文件即可

https://blog.csdn.net/TracelessLe/article/details/110880135

NSight系列

包括NSight System和NSight Compute,其中Nsight Systems就是全新一代的nvprof,可以用于监测代码执行效率及分析性能。

Nsight Systems

本地使用

用命令nsight-sys打开Nsight Systems,设置命令与路径,点击右侧start

远程使用

远程时,使用nsys命令生成profile文件,再下载用Nsight Systems打开

nsys profile -o first_attempt.qdrep ./first_attempt

结果分析

  • 5部分内容:

    1. Analysis Summary (分析总结,内容非常全面,包含了Target的详细信息,Process summary, Module summary, Thread summary, Environment Variables, CPU info, GPU info等等)
    2. Timeline View (展示CPU/GPU各个核的工作时间线,一般用来来勘察模型训练或者推理的瓶颈在哪里)
    3. Diagnostics Summary (顾名思义,诊断总结。就是程序在运行中做了什么,有什么warning , error,或者message的,都在这里汇总)
    4. Symbol Resolution Logs(暂时不知道是干嘛的)
    5. Files (执行结果的log 文件:pid_stdout.log,& 执行出错的log 文件pid_stderr.log)
  • 在Timeline View ,主要关注CUDA HW(自己的kernel)、TensorRT 以及 CUDA API 这三部分,

    光标指向kernel名称,出现如下记录:包括内存申请情况等信息

    gemmKernel
    Begins: 0.327224s
    Ends: 0.354951s (+27.727 ms)
    grid:  <<<32, 32, 1>>>
    block: <<<32, 32, 1>>>
    Launch Type: Regular
    Static Shared Memory: 0 bytes
    Dynamic Shared Memory: 0 bytes
    Registers Per Thread: 36
    Local Memory Per Thread: 0 bytes
    Local Memory Total: 26,542,080 bytes
    Shared Memory executed: 8,192 bytes
    Shared Memory Bank Size: 4 B
    Theoretical occupancy: 66.6667 %
    Launched from thread: 193828
    Latency: ←145.765 μs
    Correlation ID: 116
    Stream: Default stream 7
    

Nsight Compute

  • 一个用于CUDA应用程序的交互式内核分析器。它通过用户界面和命令行工具提供详细的性能指标和API调试。此外,它的基线特性允许用户在工具中比较结果。NVIDIA Nsight Compute提供了一个可定制的、数据驱动的用户界面和度量集合,并且可以通过分析脚本对后处理结果进行扩展。

本地使用

  1. 可以直接在Nsight Compute中设置可执行文件路径,launch即可。但是可能出现The user does not have permission to profile on the target device.报错,所以使用sudo指令:

    sudo /usr/local/cuda/bin/ncu-ui
    

  2. 用->定位到我们的kernel,然后点击profile kernel即可

远程使用

  1. 首先命令行执行
sudo /usr/local/cuda/bin/ncu -o profile --set full ./myapplication <arguments>
  1. 然后下载后,使用Nsight Compute open files即可

结果分析

page中的session是设备信息,detail是kernel的内容分析,source是源码中每行代码及汇编指令执行使用资源情况

https://blog.csdn.net/yan31415/article/details/109491749
https://blog.csdn.net/TracelessLe/article/details/116945768
https://www.paddlepaddle.org.cn/inference/master/guides/performance_tuning/performance_analysis_profiler.html

cuda性能分析工具相关推荐

  1. C++ 性能分析工具调研

    文章目录 0. 前言 1. gprof 3. valgrind 4. gperftools 5. perf 0. 前言 目标:性能分析(profile)包含的内容特别多,但目前我只关注运行时间. 详细 ...

  2. 正确使用 Android 性能分析工具——TraceView

    前面唠叨 最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方.因为之前不会正确使用TraceView这个工具,主要是看不懂T ...

  3. php性能分析工具 - xhprof的安装使用

    一.前言 有用的东西还是记录下来吧,也方便以后的查询:这次记录一下xhprof的安装使用: xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低, ...

  4. .NET 11 个 Visual Studio 代码性能分析工具

    原文地址 软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行 ...

  5. 11个Visual Studio代码性能分析工具

    软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和 ...

  6. 系统级性能分析工具perf的介绍与使用

    测试环境:Ubuntu16.04 + Kernel:4.4.0-31 apt-get install linux-source cd /usr/src/tools/perf make &&am ...

  7. Linux常用性能分析工具汇总

    文章目录 性能分析工具 top pstree mpstat vmstat pidstat perf proc tcpdump bcc工具箱 cachestat cachetop memleak fil ...

  8. Linux系统下常见性能分析工具的使用

    在前面的文章中,我简单介绍了影响linux性能的几个方面以及如何解决这些方面的问题,但是如何才能从系统上发现是某个方面或某几个方面出现问题了呢,这就需要使用linux系统提供的几个常用性能分析工具,下 ...

  9. 性能分析工具 Android TraceView

    1. TraceView 简介 Traceview是android平台配备一个很好的性能分析的工具.它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到每个方法的执行时间 Tracev ...

最新文章

  1. R语言ggplot2可视化图例放置在图像底部(bottom)并分两行显示实战
  2. SpiderData 2019年2月22日 DApp数据排行榜
  3. [MySQL] 事务的ACID特性
  4. iphone手机型号获取
  5. ASP.NET 2.0 之 Master Page 学习笔记
  6. 根据大小分割大文本_基于深度学习的图像分割在高德地图的实践
  7. 桌面整理工具不显示文件夹_Win10桌面图标显示不正常变成了白色
  8. git创建仓库,并提交代码(第一次创建并提交)(转)
  9. 18. jQuery - 尺寸
  10. RocketMQ源码-基于Netty的通信层设计
  11. B站 - 黑客攻防 入门到入狱 [网络安全] -笔记
  12. 素数II题解(素数筛)
  13. linux双核cpu调试软死锁问题,记一次linux通过jstack定位CPU使用过高问题或排查线上死锁问题...
  14. 【大数据】城市公交网络分析与可视化(二):获取公交行驶路径并绘制散点图
  15. 十年沉淀,回头发觉我当年面试 “Android,深入分析
  16. 2023年天津仁爱学院专升本化学工程与工艺对口专业限制目录
  17. 如何简单通俗地解释什么是云计算?
  18. Google是如何做Code Review的
  19. 笔记本电脑更改计算机驱动怎么进不去,笔记本电脑进入不了BIOS的原因与解决办法...
  20. Veins/OMNeT/SUMO:SUMO坐标转Veins项目地图中的坐标

热门文章

  1. 人工智能于交通系统而言
  2. html5条件筛选jquery,jQuery实现多条件筛选
  3. 怎么查自己电脑服务器信息吗,如何查看自己电脑的服务器
  4. php 保持内容换行符,PHP 将内容写入word pdf 换行符不生效咋办
  5. Delphi输出日志的方法
  6. 汉高任命荣杰博士为大中华区总裁;沃尔玛中国2021届校招正式启动 | 美通企业日报...
  7. 昆石VOS2009/VOS3000 2.1.6.00 新功能介绍
  8. c语言编程题会议室安排,C语言编程题:会议室安排
  9. 看电影哪款蓝牙耳机降噪效果最好?性价比降噪蓝牙耳机推荐
  10. 微信小程序-收藏功能