我是Visual Studio2010的新手,因为我习惯于使用Linux作为操作系统来使用nvcc编译我的CUDA代码。顺便说一句,在这个论坛和NVIDIA开发者专区的一些帖子中,我读到了关于在Visual Studio中正确编译(调试/发布模式,请参阅link了解两者之间的区别)以正确使用NVIDIA Visual Profiler的警告。在我的理解中,Visual Studio是在"Debug“模式下自动编译的,但是对于一个成功的概要文件来说,"Release”模式是必需的。
我的(简单)问题是:
1)如何从Debug模式切换到Release模式?使用属性->配置属性并选择"Release“而不是"Active(Debug)”是否足够?此外,我注意到每次我想要重建项目时都必须重复选择。
2)这是否足以正确使用Visual Profiler?
非常提前感谢您。
发布于 2013-01-09 21:37:37
1)您在错误的位置从Debug切换到Release。您正在使用的设置仅用于选择要查看或编辑的构建设置。您应该使用Build | Configuration Manager
或(更简单) Standard
工具栏中的Solution Configurations
下拉框。如果您没有看到Standard
工具栏,请在菜单旁边的工具栏区域中单击鼠标右键,然后在那里选择它。您会发现现在不必为每个构建重新选择设置。
2) CUDA编译器即使在调试模式下也会进行积极的优化。我不知道你使用哪种配置是否重要。这两种方法都应该有效。您可以尝试查看是否会得到任何不同的结果。
发布于 2013-01-10 04:20:22
有关如何设置配置的信息,请参阅Roger Dahl的答案。
分析有几种形式。
性能分析
这绝对应该在CUDA内核上启用优化的情况下完成。禁用优化和指定调试信息比CPU执行更多的操作,但它确实对代码进行了其他修改(堆栈溢出检查),这将影响计数器。
源代码级别分析
这可以在Debug或Release版本上完成。对于许多分析案例,这是很好的。但是,如果您想了解每行C代码的生成过程,那么您应该启用全面优化,并仔细查看SASS代码,并且只使用C源代码和PTX作为指导。
为了获得C源代码级别的相关性,您需要使用生成完整调试信息的缺省调试配置,或者使用启用-lineinfo的自定义配置。可以使用以下步骤启用此选项:
Properties
命令Yes
https://stackoverflow.com/questions/14245892
复制