CUDA 分析如何“在幕后”工作?

Posted

技术标签:

【中文标题】CUDA 分析如何“在幕后”工作?【英文标题】:How does CUDA profiling work "under the hood"? 【发布时间】:2013-05-21 10:42:05 【问题描述】:

谁能解释分析器的工作原理。给定可执行文件,它如何一直测量,指令等。我知道如何运行探查器。我想知道它的背景工作。

我想开发自己的分析器。所以我需要了解现有的分析器是如何工作的。

我获得了可执行文件,需要开发一个分析器来分析可执行文件。

【问题讨论】:

当然,如果不改变这些东西(在微纳空间中),你就无法测量这些东西。 gpu 中必须有一些调试寄存器来解决这个问题。 首先,你读过Profiler User's Guide吗? 是的,我已阅读分析器用户指南。但这并不能解释分析器的背景工作。谁能给我解释一下。 【参考方案1】:

您可以先阅读CUPTI Documentation。

CUDA 分析工具接口 (CUPTI) 支持创建 针对 CUDA 应用程序的分析和跟踪工具。库普蒂 提供四种API:Activity API、Callback API、Event API、 和度量 API。使用这些 API,您可以开发分析工具 深入了解 CUDA 应用程序的 CPU 和 GPU 行为。 CUPTI 作为动态库在所有支持的平台上提供 CUDA。

CUPTI Metric API 是您应该阅读的内容,并且您应该始终注意哪个 CUDA 版本是您的目标,因为某些 API 与以前或下一个版本不同。

【讨论】:

我是否可以根据我的目的对其进行编辑。或者我可以在这个帮助下自己开发一个吗? 你应该阅读我在上面引用的第一句话。是的,只要您遵循提供的 API,您基本上可以为分析器做任何您想做的事情。

以上是关于CUDA 分析如何“在幕后”工作?的主要内容,如果未能解决你的问题,请参考以下文章

Meteor 的反应在幕后是如何工作的?

带有块的 UIView 动画如何在幕后工作

了解 Java 调试如何真正在幕后工作

React 钩子 useRef() 如何在幕后工作?那个参考到底是啥?

C ++如何在幕后工作[重复]

这个递归数组置换函数如何在幕后工作?