NVIDIA Visual Profiler提供了丰富的图形用户环境,可以给出CUDA在后台工作的更多细节。除了提供每个CUDA函数调用的时间分析外,它还能给出如何调用内核函数以及存储器的使用情况等。它有助于定位瓶颈可能出现的位置,并详细解释如何调用内核。
本节将展示这一出色的工具如何与MATLAB和CUDA一起使用。NVIDIA Visual Profiler可以在CUDA安装目录下找到(见图3.24)。对于Windows操作系统,通常在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\libnvvp目录下。对于Mac OS X操作系统,NVIDIA Visual Profiler的位置如图3.25所示。对于Linux发行版,位于/usr/local/cuda/libnvvp目录下(见图3.26)。启动nvvp,会先得到一个空窗口。
图3.24 NVIDIA Visual Profiler和CUDA安装位置
图3.25 Mac OS X操作系统中的NVIDIA Visual Profiler
图3.26 Linux操作系统中的NVIDIA Visual Profiler
首先,打开NVIDIA Visual Profiler。然后,在主菜单中单击File >New Session菜单命令,创建一个新的会话,如图3.27所示。
图3.27 NVIDIA Visual Profiler中的New Session
单击Browse按钮,与之前一样,选择MATLAB可执行文件,如图3.28所示。MATLAB可执行文件是在MATLAB的bin安装目录下,实际位置取决于你的系统架构:
图3.28 为NVIDIA Visual Profiler选择MATLAB可执行文件
●对于 Windows 64位操作系统
C:\Program Files\MATLAB\R2012a\bin\x64\MATLAB.exe.
●对于Windows 32位操作系统
C:\Program Files\MATLAB\R2012a\bin\win32\MATLAB.exe.
●对于 Mac OS X操作系统
/Applications/MATLAB_R2012a.app/bin/maci64/MATLAB.
●对于 Linux操作系统
/usr/local/MATLAB/R2012a/bin/glnxa64/MATLAB.
基于系统架构选择MATLAB可执行文件后,单击文件选择对话框中的Open按钮,回到Create New Session对话框(见图3.29)。单击Create New Session对话框中的Next按钮,然后选择可执行文件的属性(见图3.30)。现在,所有选择都设为默认值,单击Finish按钮完成创建新会话的过程。完成这些后,NVIDIA Visual Profiler启动MATLAB可执行程序(见图3.31)。然后,等待直至MATLAB关闭。(www.xing528.com)
图3.29 Create New Session会话窗口
图3.30 Executable Properties选项
图3.31 在NVIDIA Visual Profiler中启动MATLAB进行分析
图3.31 在NVIDIA Visual Profiler中启动MATLAB进行分析(续
在MATLAB命令窗口中,运行基于CUDA的卷积程序如下:
运行这些指令之后,关闭MATLAB窗口,分析器将开始生成分析数据。此时如果遇到如图3.32所示的警告信息,可以通过在c-mex函数末尾添加cudaDeviceReset()语句稍微修改代码,以确保清除所有分析数据。
图3.32 应用程序未完成警告信息
并以一个附加选项重新编译c-mex:
重新运行卷积程序,并关闭MATLAB窗口,NVIDIA Visual Profiler会显示所有信息,如图3.33所示。
图3.33 NVIDIA Visual Profiler分析结果窗口
你可以对每个CUDA函数的耗时、GPU占用情况等有很好的了解。单击底部的Details选项卡,可以看到网格和线程块中线程的数量,如图3.34所示。
图3.34 NVIDIA Visual Profiler Details选项卡下的时间信息
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。