1

我已经使用 CUDA 4.0 一段时间了。我最近下载并复制了 CUDA 4.1 新 API(我需要 Thrust 的 lambda 表达式支持),但我的解决方案的属性仍然链接到旧的 4.0 API。如何动态更改它?我的猜测是我需要更改$(CudaToolkitLibDir)变量,但究竟如何?

编辑:我问这个是因为我正在尝试使用推力::占位符

4

1 回答 1

2

要回答具体问题:

  • 对于 VS2005 或 VS2008,您需要更改自定义构建规则以选择 CUDA 4.1 规则而不是 4.0。有关更多信息,请参阅此帖子
  • 对于 VS2010,您需要更改 Build Customization 以选择 CUDA 4.1。有关更多信息,请参阅此帖子

查看评论,很明显您需要安装一个 CUDA 4.1 驱动程序,您可以从NVIDIA 网站下载该驱动程序。您说您的程序在cudaMalloc()更新到 4.1 时第一次崩溃,您应该检查错误消息(通常您应该检查所有 API 调用是否有错误)。如果您的驱动程序不是最新的,第一个 CUDA API 调用将返回“驱动程序版本不足”消息。

于 2012-03-14T10:00:24.300 回答