Cuda Nvprof、度量、已用周期变量

Cuda Nvprof、度量、已用周期变量,cuda,profiler,Cuda,Profiler,我对CUDAnvprof档案器有一些问题。网站上的一些指标的命名与profiler中的不同,而且变量似乎没有在网站上的任何地方解释,也没有在web上的任何地方解释(我找不到任何有效的引用) 我解码了其中的大部分(这里:),但我仍然不确定: elapsed_cycles max_warps_per_sm 有人确切地知道如何计算这些吗 我正试图通过cmdline使用nvprof来评估大约6000个不同的内核,因此使用visualprofiler对我来说是不可行的 谢谢你的帮助。非常感谢 编辑: 我

我对CUDAnvprof档案器有一些问题。网站上的一些指标的命名与profiler中的不同,而且变量似乎没有在网站上的任何地方解释,也没有在web上的任何地方解释(我找不到任何有效的引用)

我解码了其中的大部分(这里:),但我仍然不确定:

elapsed_cycles
max_warps_per_sm
有人确切地知道如何计算这些吗

我正试图通过cmdline使用nvprof来评估大约6000个不同的内核,因此使用visualprofiler对我来说是不可行的

谢谢你的帮助。非常感谢

编辑: 我使用的是:

CUDA 5.0,GTX480是cc。2.0

我已经做了:

我制作了一个脚本,从profiler文档站点获取每个度量的公式,解析任何给定度量的依赖关系,通过nvprof提取这些度量,然后计算这些度量的结果。这涉及到使用一个(相当大的)sed脚本,将站点上出现的所有变量更改为分析器实际接受的具有相同含义的变量。基本上,我通过nvprof模拟了grepping度量。我只是有一些问题:

这些具体变量存在问题的原因:

max_warps_per_sm-如果它是cc或另一个度量/事件的界限,我可能不知何故遗漏了它,并且是针对我的程序的(这并不奇怪,因为探查器文档中的一些变量有3个(!)不同的名称,所有这些名称都用于同一事物)


已用\u周期-我在nvprof--查询事件的输出中没有已用\u周期。甚至没有任何东西包含“消逝”这个词,唯一包含“循环”的是“活动的循环”。是吗?还有别的方法数数吗?使用“gputime”而不是这个变量会有什么危害吗?我不需要绝对数,我用它来寻找相关性和分析代码,所以如果“gputime”=“appeased_cycles”*常量,我完全可以接受。

您可以使用以下命令列出每个设备上可用的所有事件:

nvprof—查询事件

这还不是很完整,但这是了解这些事件/指标的良好开端。例如,使用CUDA 5.0和CC 3.0 GPU,我们可以:

已用\u周期\u sm:已用时钟

已用时钟周期数\u sm
是每个多处理器已用时钟周期数。如果要为您的程序测量此指标:

nvprof—事件经过\u周期\u sm./您的\u程序

max\u warps\u per\u sm
非常简单:这是每个多处理器驻留的最大扭曲数。该值取决于计算能力(参见图表)。这是一个硬件限制,无论您的内核是什么,在任何给定时间,每个多处理器的驻留扭曲都不会超过此值

此外,中提供了更多信息,包括说明和公式

更新 根据:

活动循环数:多处理器至少有一个活动扭曲的循环数


您正在使用哪个版本的CUDA?分析工具不断发展,因此我们需要这些信息来帮助您。嗨!首先谢谢你的回答。其次,我使用CUDA 5.0和GTX480,即cc 2.0。当然,我已经浏览了整个探查器文档和nvprof——查询事件。我用Duah。。。编辑我无意中提交的评论花费了太长时间:)问题是探查器文档名称与nvprof——查询事件名称不同,并且站点上没有解释。至于变量,我不确定“max_warps_per_sm”是否意味着我可以在一个sm上运行多少个代码扭曲(这可能会受到共享内存使用量的限制)或某个cc静态绑定,感谢您的澄清!然而,我尝试了nvprof--query events | grep appeased(或grepping sm,cycles),但没有发现任何与我想要的相似的东西。有什么办法可以从其他东西中计算出来吗?@Melchior:nvprof中可用的事件取决于您的硬件
max\u warps\u per\u sm
不是运行时限制,而是硬件限制:无论内核是什么,这是每个多处理器驻留的最大扭曲数
active_cycles
是多处理器至少有一个活动扭曲的循环数(请参阅)。此外,某些事件可能在旧卡中不可用,并且不总是可以计算某些特定指标。您希望测量/计算什么?很抱歉,响应太晚,按照您的指示,使用gputime而不是经过的时钟和最大扭曲度。为了回答你的问题,我正在分析大约6k个简单线性代数函数的融合内核,并尽可能多地获取信息。因此,我有兴趣得到任何我能得到的指标:)无论如何,接受。