我想知道我的CUDA设备上是否启用了双精度,因为它是一个带有CUDA运行时4.0的计算能力2.0设备(SDK和工具包,最新的驱动程序)。
如何验证双精度是否被激活?此外,我在编译CUDA代码时收到警告:“双精度不受支持,降级为浮点型”,而2.0设备显然本机支持双精度。那么为什么会有这个警告呢?这里发生了什么,有人能帮上忙吗?这个警告是不是因为默认的Makefile编译了所有可能的架构,而这个输出来自于较低架构的编译?
发布于 2011-08-06 15:21:09
出现该警告是因为nvcc默认为不支持双精度的计算能力1.0设备生成代码。如果将-arch=sm_20添加到编译语句中,nvcc将为计算2.0设备生成代码,其中包括本机双精度浮点操作。
https://stackoverflow.com/questions/6965254
复制相似问题