背景
最近需要具体分析CUDA程序的GPU占用情况。除了使用常见的clock、gettimeofday计时分析程序的效率之外,还可以使用nvidia推出的nvprof进行具体的GPU指令耗时分析,为了方便分析,可以使用nvidia visual profiler对nvprof生成的分析报告进行可视化。
官方链接:https://developer.nvidia.com/nvidia-visual-profiler
实验环境
CUDA实验环境是Ubuntu18.04+Titan GPU,同样可以在windows上配置跑CUDA。
可视化工具nvvp的安装环境是Windows10+笔记本自带nvidia显卡。(因为最近都远程2333,所以可视化只能在笔记本了)
实验准备
1. 使用Ubuntu环境下的nvprof工具生成待可视化的目标文件。
假设CUDA程序编译通过后得到可执行文件test,使用nvprof运行test程序,记录gpu使用情况并保存为test_prof,输入如下指令:
nvprof -o test_profile ./test
这个过程可能会遇到bug,我的问题描述无法复现(= =),解决方法是关掉unified-memory-profiling即可,指令如下:
nvprof --unified-memory-profiling off -o test_profile ./test
此时,屏幕上会输出该CUDA程序的一些profile统计的文字表格数据,并且在实验环境中保存了nvprof的记录文件test_profile。
&nbs

本文介绍如何使用nvprof工具分析CUDA程序的GPU占用情况,并通过NVIDIA Visual Profiler进行可视化。详细步骤包括在Ubuntu环境下生成分析文件,配置Windows环境下的JDK及CUDA库路径以顺利运行nvvp。
安装Bug笔记&spm=1001.2101.3001.5002&articleId=104526042&d=1&t=3&u=69e3d09bf1ef4bb885a53590455018f1)
2850

被折叠的 条评论
为什么被折叠?



