我对CUDA分析的状况非常困惑。现在我有一个我想要优化的内核,我很难找到正确的软件是什么。据我所知,Nvidia有以下几种选择:
nvprof来获取一些打印到命令行的粗略信息,或者保存一个概要文件。nvvp)用于查看由nvprof保存的配置文件。据我所知,这只给出了内核何时启动/完成的时间线,以及关于GPU正在做什么的一些其他粗略信息(PCIe数据传输等)。到目前为止,我已经使用了nvprof和nvvp,但它们似乎只有助于解决内核之间的瓶颈,而不是单个内核调用中的瓶颈。我的问题:
nvvp做这个吗?我真的很想把我所有的困惑都解决掉,并会喜欢这样的回答:“是的,大多数人使用X,忽略Y、Z和W,这些都是Nvidia不再维护的旧包,而且仍然只供遗留用户使用。”
发布于 2022-12-27 09:59:55
nvprof和nvvp是遗留的分析器,而Nsight分析器是更新的,并且定期更新新特性。因此,只要Nsight分析器支持您的GPU体系结构,您就应该使用它们。
我不知道Nvidia如何准确地将其软件产品归类为" Nsight“,但Nsight肯定不是一个单独的产品/软件,也不是所有叫做"Nsight”的东西都与分析有关。正如您注意到的,这个名称下有多个IDE插件,它们提供了更好的语法突出显示、调试GUI (包装cuda-gdb)等等。
在计算上下文中使用的两个可用的支持程序(vs 3D/Ray跟踪和"Nsight Graphics")是Nsight System (nsys)和Nsight compute (ncu)。两者都可以在CLI模式下调用,用于远程服务器上的数据收集,或者使用GUI (nsys-ui和ncu-ui)查看所收集的数据或交互地收集数据。
Nsight系统给出了整个应用程序的时间表,如OP所描述的,它“将多个内核调用/数据传输之间的S瓶颈最小化,等等”。
有关遗留和Nsight分析器之间关系的更多信息,请参见Nvidia博客文章从NVVP和Nvprof迁移到NVIDIA Nsight工具。
优化单个内核的正确工具是Nsight Compute。
https://softwarerecs.stackexchange.com/questions/82950
复制相似问题