gpt4 book ai didi

cuda - Nvidia 的 nvprof 输出为 FLOPS

转载 作者:行者123 更新时间:2023-12-03 02:55:25 27 4
gpt4 key购买 nike

我看到 nvprof 可以分析内核中的 flop 数量(使用如下参数)。另外,当我浏览文档时(此处http://docs.nvidia.com/cuda ...它说 flop_count_sp 是“非谓词线程执行的单精度浮点运算的数量(加法、乘法、乘法累加和特殊)。每个乘法-累加操作为计数贡献 2。”

但是,当我运行时, flop_count_sp 的结果(应该是 flop_count_sp_add + flop_count_sp_mul + flop_count_sp_special + 2 * flop_count_sp_fma) 我发现它在求和中不包括 flop_count_sp_special 的值。

你能建议我应该使用什么吗?我应该将此值添加到 flop_count_sp 的总和中,还是应该考虑该公式不包含 flop_count_sp_special 的值?

您能告诉我这些特殊操作是什么吗?

我正在使用以下命令行:

nvprof --metrics flops_sp --metrics flops_sp_add --metrics flops_sp_mul --metrics flops_sp_fma --metrics flops_sp_special myKernel args

其中myKernel是我的CUDA内核的名称,它有一些由args给出的输入参数。

例如,我的 nvprof 输出的一部分如下所示:

 ==20549== Profiling result:
==20549== Metric result:
Invocations Metric Name Metric Description Min Max Avg
Device "Tesla K40c (0)"
Kernel: mykernel(float*, int, int, float*, int, float*, int*)
2 flop_count_sp Floating Point Operations(Single Precisi 70888 70888 70888
2 flop_count_sp_add Floating Point Operations(Single Precisi 14465 14465 14465
2 flop_count_sp_mul Floating Point Operation(Single Precisio 14465 14465 14465
2 flop_count_sp_fma Floating Point Operations(Single Precisi 20979 20979 20979
2 flop_count_sp_special Floating Point Operations(Single Precisi 87637 87637 87637

最佳答案

“特殊”操作列在 Programming Guide 的算术吞吐量表中。 ,它们是:倒数、recip sqrt、log、exp、sin、cos。请注意,这些版本不如默认版本精确(但速度更快),您必须选择使用内部函数或编译器标志 (-use_fast_math)。

尽管文档中有说明,但特殊操作似乎并未包含在 flop_count_sp 总数中。这是当前版本(8.0)中的一个错误,我已经提交了一个错误,因此应该在未来的版本中修复它(因此本段将在某个时候过时)。

关于cuda - Nvidia 的 nvprof 输出为 FLOPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44388623/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com