当前位置: 首页> 财经> 产业 > 装修网单_海南智能网站建设设计_百度网页搜索_seo项目分析

装修网单_海南智能网站建设设计_百度网页搜索_seo项目分析

时间:2025/7/8 9:12:35来源:https://blog.csdn.net/weixin_43172531/article/details/144927241 浏览次数:0次
装修网单_海南智能网站建设设计_百度网页搜索_seo项目分析
  1. 昨天无意中刷到了此网页:NVIDIA 分析工具的用户手册
  2. Visual Profiler 是一种图形分析工具,可显示应用程序的 CPU 和 GPU 活动的时间轴,并包括一个用于识别优化机会的自动分析引擎。
  3. nvprof 分析工具,可以从命令行收集和查看分析数据。
  4. NVIDIA Nsight Systems整合了Visual Profiler和nvprof 。 进行 GPU 和 CPU 采样和跟踪,并使用 NVIDIA Nsight Compute 进行 GPU 内核分析。
  5. 事件event是设备上可计数的活动、操作或事件。个人理解,就是指一个函数调用过程。在我做的异构性能分析系统中,事件至少有两个时间点,起始和终止,有的还有进入队列,等待执行等概念,对应的是opencl中的概念。
  6. 指标metric是根据一个或多个事件值计算的应用程序特征。个人理解,就是指带宽这种性能指标。在我做的异构性能分析系统中,是允许自定义的,有几百个参数。
  7. 聚焦分析,Focused Profiling,本质上就是缩小性能分析范围。减少输出,不容易被大量无用信息干扰。类似vs的通用性能分析与自定义性能分析。
  8. 标记 CPU 活动的区域,Marking Regions of CPU Activity,本质就是自己设置一个新事件的起止。相对于自动标记的cuda调用事件,这种是自定义事件。
  9. 命名 CPU 和 CUDA 资源,Naming CPU and CUDA Resources,别名可以方便理解,降低分析难度,本质也是信息简化、数据降维。
  10. 刷新配置文件数据, Flush Profile Data,为了性能采样的性能,优先使用缓存,需要通知程序将采样数据存储到硬盘。
  11. Visual Profiler 可视化分析器,本质是通过图形化性能采样数据,方便人去理解和分析性能数据。
  12. 从 File 菜单中选择 New Session 来创建新会话。multi-process 分析选项包括:分析子进程Profile child processes,分析所有进程Profile all processes,仅分析当前进程Profile current process only。按照进程为单位分析,一个进程本身对应一个事件概念。
  13. CUDA options设置gpu事件的采样范围。也涉及gpu内存、功耗、散热等。本质都是数据采样,为后续图形化性能分析、辅助分析做准备。
  14. CPU (host) options设置线程采样、OpenACC 等。受限于linux、windows系统特性,有些数据采集只有linux提供。
  15. Timeline Options: 时间轴选项,关键点是建立统一的时间坐标系,例如cpu tsc与gpu计时。然后就是根据时间范围筛选部分事件。
  16. 以上是设置数据采样的细节,后续采样后就是数据显示和分析的细节。显示时支持一些交互,都是为了方便分析比较。
  17. 在我做的异构性能分析系统中,数据采样的关键点是形成事件树,每个事件至少要记录自己的父节点。兄弟节点一般是并行关系,父子节点一般是调用关系。同一个事件可能有多个时间分片,此时用不同属性、颜色标注。数据采样形成的数据文件可以是文本,也可以是二进制数据,当然,nvidia应该采用的是二进制数据文件,因为效率问题。nvidia早期版本也是CSV 文件。
  18. 可视化分析器视图 Visual Profiler Views举例
    在这里插入图片描述
    我在做异构性能分析系统之前,没有见过这个界面,但是,我做的跟这个非常接近,js实现差一点。
    这种设计出发点其实很简单,就是建立笛卡尔坐标系,类似户外运动经常用的全球GPS坐标系,基于地图map形成快速反馈环节,明确系统存在的问题和改进方向。
    我是用js直接生成的web页面,这个数据量大了,必须用程序显示,否则很难控制大量图形对象的流畅显示。

在这里插入图片描述
分析视图的本质就是将表格数据转化为柱状图、饼状图之类的形式。配合AI或许可以给出一些性能分析结果和建议。
在这里插入图片描述
PC 采样视图,可以对应到c、asm代码,这种复杂功能出现得比较晚。本质上,都是基于更为完整的采样数据进行处理和现实。
在这里插入图片描述
内存统计的图形化,方便人工快速分析内存迁移的细节。
在这里插入图片描述
在这里插入图片描述
表格形式实际上最基本的分析方式,但经过程序归类处理后,比较方便。
在这里插入图片描述
cpu上的线程视图。细节控制举例:筛选部分线程、cpu事件树、排序、突出显示、源码显示等
在这里插入图片描述
openacc表格。
在这里插入图片描述
openmp表格。
外加控制台输入输出界面,参数设置界面。

  1. 自定义分析,使用上次退出时的界面布局,视图停靠移动等

  2. 命令行参数,略

  3. nvtx分析方式
    在这里插入图片描述
    nvtx跟我在另外一个win下工具软件开发的性能分析模块类似,说白了就是有一个全局数据空间存储cpu下api的名称、起止时间等信息,程序退出时一次性输出到csv文件,用工具打开分析即可。
    nvtx似乎是开源的,https://github.com/NVIDIA/NVTX 可以考虑在自己的项目中引用,形成更好的分析方案,但是要基于nvidia的工具套件。
    对于 C 和 C++,NVTX 是一个没有依赖项的仅头文件库。
    nvtx的输出可以用nsight转化为事件树图形
    在这里插入图片描述

  4. MPI Profiling with nctx
    Message Passing Interface,消息传递接口。MPI 是一种用于并行计算的标准化消息传递库。它定义了一组函数和协议,允许运行在多台计算机(或同一台计算机的多个核心)上的进程之间进行通信和数据交换。MPI 不是一种编程语言,而是一个库。

  5. MPS Profiling with Visual Profiler and nvprof
    Moving Particle Semi-implicit method,移动粒子半隐式方法。MPS 是一种用于模拟流体和其他连续介质的粒子方法。它将连续的流体离散成大量的粒子,通过计算粒子之间的相互作用来模拟流体的运动。

  6. openacc
    Open Accelerators,开放加速,语法有点类似openmp。一种用于异构并行编程的标准。它允许程序员使用指令 (directives) 来指导编译器将程序的部分代码卸载到加速器(例如 GPU)上执行,而无需编写底层的 CUDA 或 OpenCL 代码。

  7. dependency analysis依赖分析,简单理解就是函数调用关系,事件树显示,分析等待时间、空闲时间。

  8. 度量标准参考,本质就是各种基本采样数据的组合计算结果,方便从不同的视角快速分析系统的性能瓶颈。

关键字:装修网单_海南智能网站建设设计_百度网页搜索_seo项目分析

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: