首页 理论教育 用NVIDIAVisualProfiler进行CUDA分析

用NVIDIAVisualProfiler进行CUDA分析

时间:2023-11-24 理论教育 版权反馈
【摘要】:NVIDIA Visual Profiler提供了丰富的图形用户环境,可以给出CUDA在后台工作的更多细节。完成这些后,NVIDIA Visual Profiler启动MATLAB可执行程序。图3.32 应用程序未完成警告信息并以一个附加选项重新编译c-mex:重新运行卷积程序,并关闭MATLAB窗口,NVIDIA Visual Profiler会显示所有信息,如图3.33所示。图3.33 NVIDIA Visual Profiler分析结果窗口你可以对每个CUDA函数的耗时、GPU占用情况等有很好的了解。图3.34 NVIDIA Visual Profiler Details选项卡下的时间信息

用NVIDIAVisualProfiler进行CUDA分析

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,会先得到一个空窗口。

978-7-111-52904-0-Chapter03-27.jpg

图3.24 NVIDIA Visual Profiler和CUDA安装位置

978-7-111-52904-0-Chapter03-28.jpg

图3.25 Mac OS X操作系统中的NVIDIA Visual Profiler

978-7-111-52904-0-Chapter03-29.jpg

图3.26 Linux操作系统中的NVIDIA Visual Profiler

首先,打开NVIDIA Visual Profiler。然后,在主菜单中单击File >New Session菜单命令,创建一个新的会话,如图3.27所示。

978-7-111-52904-0-Chapter03-30.jpg

图3.27 NVIDIA Visual Profiler中的New Session

单击Browse按钮,与之前一样,选择MATLAB可执行文件,如图3.28所示。MATLAB可执行文件是在MATLAB的bin安装目录下,实际位置取决于你的系统架构

978-7-111-52904-0-Chapter03-31.jpg

图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)

978-7-111-52904-0-Chapter03-32.jpg

图3.29 Create New Session会话窗口

978-7-111-52904-0-Chapter03-33.jpg

图3.30 Executable Properties选项

978-7-111-52904-0-Chapter03-34.jpg

图3.31 在NVIDIA Visual Profiler中启动MATLAB进行分析

978-7-111-52904-0-Chapter03-35.jpg

图3.31 在NVIDIA Visual Profiler中启动MATLAB进行分析(续

在MATLAB命令窗口中,运行基于CUDA的卷积程序如下:

978-7-111-52904-0-Chapter03-36.jpg

运行这些指令之后,关闭MATLAB窗口,分析器将开始生成分析数据。此时如果遇到如图3.32所示的警告信息,可以通过在c-mex函数末尾添加cudaDeviceReset()语句稍微修改代码,以确保清除所有分析数据。

978-7-111-52904-0-Chapter03-37.jpg

图3.32 应用程序未完成警告信息

978-7-111-52904-0-Chapter03-38.jpg

并以一个附加选项重新编译c-mex:

978-7-111-52904-0-Chapter03-39.jpg

重新运行卷积程序,并关闭MATLAB窗口,NVIDIA Visual Profiler会显示所有信息,如图3.33所示。

978-7-111-52904-0-Chapter03-40.jpg

图3.33 NVIDIA Visual Profiler分析结果窗口

你可以对每个CUDA函数的耗时、GPU占用情况等有很好的了解。单击底部的Details选项卡,可以看到网格和线程块中线程的数量,如图3.34所示。

978-7-111-52904-0-Chapter03-41.jpg

图3.34 NVIDIA Visual Profiler Details选项卡下的时间信息

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈