我有一个执行有限差分计算的CUDA代码。该代码在Tesla M2090处理器上运行良好,没有错误。相同的代码会导致Tesla T10处理器出现大量错误。我的结果中有很多零。
有谁知道这两种架构之间的区别以及如何解决问题的解决方案
答案 0 :(得分:5)
您是否重新编译了2.0或2.1体系结构的源代码?如果您编译1.3体系结构,它将不适用于> = 2.0。
CUDA编程指南3.1.2二进制兼容性:
保证二进制兼容性 从一个小修改到下一个 一个,但不是一个小修改 前一个或跨主要 修改
此外,费米的行为略有。一些不安全的代码可能在旧架构上正常工作,而在Fermi上它可以捕获bug。如果您怀疑,可以查看“Fermi兼容性指南”(可与CUDA工具包一起使用),从程序员的角度了解架构之间的主要差异。