CUDA 5与CUDA 4兼容

CUDA 5与CUDA 4兼容,cuda,Cuda,CUDA 5最近发布,我一直在使用CUDA 4。所以我想知道,如果我安装CUDA5,我在CUDA4中编写的代码是否还会运行 它是完全兼容还是部分兼容?需要CUDA4的开源项目也会与CUDA5一起工作吗 谢谢CUDA 4和CUDA 5之间没有100%的兼容性 仅举一个例子,在CUDA 5中,使用字符串表示设备符号是可能的 在CUDA 4中使用某些API函数。相反,符号应该是 直接使用 还有人指出,示例代码的结构已经发生了显著的变化,如果您使用示例代码的元素,这可能会影响您的代码。然而,在我看来,这

CUDA 5最近发布,我一直在使用CUDA 4。所以我想知道,如果我安装CUDA5,我在CUDA4中编写的代码是否还会运行

它是完全兼容还是部分兼容?需要CUDA4的开源项目也会与CUDA5一起工作吗


谢谢

CUDA 4和CUDA 5之间没有100%的兼容性

仅举一个例子,在CUDA 5中,使用字符串表示设备符号是可能的 在CUDA 4中使用某些API函数。相反,符号应该是 直接使用

还有人指出,示例代码的结构已经发生了显著的变化,如果您使用示例代码的元素,这可能会影响您的代码。然而,在我看来,这不是一个真正的兼容性问题

将cuda代码从cuda 4移动到cuda 5所需的更改可能很小(如果有)


模拟器通常依赖于CUDA运行时的未发布特性,并且通常仅适用于特定的CUDA版本。检查您选择的仿真器是否有关于所需运行时的任何声明。

您使用的是哪个操作系统?你不能同时安装CUDA 4.0和5.0并测试它们吗?至于差异,这实际上取决于您实现的内容的类型。例如,CUDA 5.0中已经删除了CUTIL,因此如果依赖它,则必须修改代码。我相信gpuocelot还没有提供对所有新功能的支持(它可能仍然是实验性的),他们的常见问题解答根本没有提到CUDA 5.0。如果这对你来说是一个很大的限制,你应该向他们的邮件列表发送一封电子邮件。一般来说,它应该“正常工作”。请注意,虽然CUTIL被删除,但它从来都不是CUDA的一部分,而且信息很清楚,它的存在只是为了保持示例程序干净和紧凑,而不是为了让人们将其整合到自己的应用程序中。一个警告是CUDA5.0删除了某些基于字符串的API。这通常会影响cudaMemcpyToSymbol()调用。您可以在此处查看CUDA 5.0发行说明: