对于安装了Microsoft Visual Studio的CUDA,NVIDIA Nsight(Visual Studio版)是一个免费的开发环境。NVIDIA Nsight(Visual Studio版)提供了强大的调试和分析函数,这对CUDA代码开发非常有效。NVIDIA Nsight的下载和安装请参考附录B。
下面利用CUDA重温卷积的范例。在第2章中,使用CUDA函数创建了一个卷积函数,在MATLAB命令窗口中运行,如下所示:
使用3.2节介绍的方法,打开Visual Studio,如图3.12所示。
图3.12 Microsoft Visual Studio中安装的Nsight
单击Nsight菜单,选择Start Performance Analysis...。弹出对话框,询问是否在不安全状态下连接(见图3.13)。选择Connect unsecurely,单击OK按钮,就会在屏幕上显示Visual Studio,如图3.14所示。
图3.13 用于连接Nsight和MATLAB的Unsecure connection对话框
图3.14 Visual Studio中应用程序链接窗口
在Application处,单击文件夹浏览按钮,选择MATLAB可执行文件。MATLAB可执行文件可以在MATLAB安装目录下找到。需要根据系统架构,选择一个适合的可执行文件。例如,在Windows 7系统中,64位MATLAB可以在图3.15所示位置找到可执行文件。
图3.15 选择MATLAB作为连接应用
选择MATLAB.exe,然后单击Open按钮,关闭对话框。现在,向下滚动一点,到Activity Type处,单击选中Profile CUDA Application选项,如图3.16所示。选择此选项后,可以看到Application Control中Launch按钮可用。
图3.16 选择“Profile CUDA Application”作为作业类型
单击Launch按钮,然后可以看到MATLAB开始和Visual Studio一起运行,如图3.17所示。(www.xing528.com)
在MATLAB命令窗口中,运行基于CUDA的卷积程序(见图3.18),然后回到Visual Studio中,在Capture Control(捕获控制)对话框中单击Stop按钮(见图3.19)。停止捕获后,可以看到CUDA Overview(见图3.20)。在CUDA标题栏中单击链接Launches,此时会显示出CUDA函数和所有内核函数细节和时间特性见图3.21)。如果选择conv2MexCuda [CUDA Kernel],你可以看到所设置的网格和线程块的尺寸,以及完成这个任务用了多少时间(见图3.22)。
图3.17 选择Launch之后的应用程序
图3.18 运行MATLAB作为分析应用程序
图3.19 在Visual Studio内完成MATLAB分析
图3.20 完成分析后的CUDA Overview
图3.21 Nsight窗口中CUDA内核函数细节和时间分析结果
图3.22 Nsight窗口中CUDA内核函数和时间分析更多的细节信息
返回到Activity选项卡,并在Capture Control对话框中单击Start按钮,可以重复这个分析过程(见图3.23)。如果这么做,你需要关闭MATLAB窗口或者在Application Control对话框中单击Kill按钮。这样可以关闭在Visual Studio中进行分析的整个会话。
图3.23 Nsight中Capture Control
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。