2

我已经安装了 Nvidia 显卡(GeForce GT 640 M)和 CUDA 5.0。然后我在 R 中安装了 gputools 包。该包安装完美,但是当我尝试在其中使用一个函数时,它给了我一个无效的设备功能错误。

require("gputools")
mat = matrix(runif(25),5,5)
gpuCor(mat)
Error in gpuCor(mat) : invalid device function 
In addition: Warning message:
In gpuCor(mat) : PMCC function : kernel finish and memcpy

我已确保 cuda 示例可以正常工作,并且我自己的 cuda 脚本也可以正常工作。gpuMatMult 函数在包中工作(我检查了源文件,它没有任何设备函数)但带有设备函数的函数正在折腾。

以下是我的系统详细信息操作系统 - Ubuntu 12.04 Cuda - CUDA - 5.0 显卡 - NVIDIA GEFORCE GT 640 M RAM - 12 GB

还有其他人遇到过这个问题吗?

4

1 回答 1

2

我找到了解决这个问题的方法。问题出在包的 makefile 中,编译架构是使用 (arch_compute = sm_10) 传递给编译器的,其中包的作者已经放入了应该处理大多数设备的架构列表。GeForce 640 M 出于某种原因不在该列表中。我删除了整个列表并且没有传递任何架构参数并且包安装得很好。

于 2013-02-04T06:31:36.443 回答