[问题解决]关于CUDA 7.5自带例子程序particles运行速度过慢的问题-Debug版本和Release版本的区别

以下基于“WIN7(64位)+Visual Studio 2010+CUDA7.5+GeForce GTX 850M”

问题描述:当我在上述计算机配置环境中安装好CUDA 7.5后,立即编译运行了其自带的例子程序“particles”,发现速度远没有像网上说的2000+fps那么快,而仅仅只有9.4fps。

问题解决:将编译版本由Debug改为Release,问题即得以解决。注意,Release版本的编译环境配置方法跟Debug版本的一模一样,两者是平权的两个版本。(配置方法参照“WIN7环境下CUDA7.5的安装、配置和测试(Visual Studio 2010)中Step.12~Step.14

后续分析关于Debug版本和Release版本的区别

  VS中的程序有Debug和Release两个版本。

  Debug版本通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。

  而Release版本通常称为发布版本,是为用户使用的,一般用户不允许在发布版本上进行调试,所以不保存调试信息。同时,它往往进行了各种优化,以期达到代码最小和速度最优的平衡,为用户的使用提供便利。

  Debug程序通常比Release程序要慢,尤其是处理视频方面Release要比Debug快很多。

  Debug跟Release在初始化变量时所做的操作是不同的,Debug是将每个字节位都赋成0xcc,而Release的赋值则近似于随机。

  代码存在错误时在Debug方式下可能会忽略而不被察觉到。Debug方式下数组越界也大多不会报错,而在Release中就暴露出来了,这个查找起来就比较难了。

  只有Debug版本的程序才能设置断点、单步执行、使用trace/assert等调试输出语句。Release不包含任何调试信息,所以体积小、运行速度快。

References

vs中debug和release版本的区别

原文地址:https://www.cnblogs.com/avin/p/6278227.html