如何在 R 中安装“gputools”

如何在 R 中安装“gputools”

我在 CentOS 6.4 上使用了自编译的 R 2.15

所有 CUDA 环境均正确(我已经编写了 CUDA C 程序)

我已经用 yum 安装了 R-devel

我仍然无法为 R 安装 gputools

为什么?

* 
config.status: creating src/Makefile
config.status: creating R/gpuSvm.R
config.status: creating R/gpuFastICA.R
config.status: creating R/gpuSvd.R
** libs
** arch - 
/usr/local/cuda-5.0/bin/nvcc -gencode arch=compute_10,code=sm_10 -gencode arch=compute_11,code=sm_11 -gencode arch=compute_12,code=sm_12 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -c -I. -I/usr/local/cuda-5.0/include  -Xcompiler -fpic kendall.cu -o kendall.o
ptxas /tmp/tmpxft_00002846_00000000-17_kendall.compute_10.ptx, line 285; warning : Double is not supported. Demoting to float
ptxas /tmp/tmpxft_00002846_00000000-14_kendall.compute_11.ptx, line 285; warning : Double is not supported. Demoting to float
ptxas /tmp/tmpxft_00002846_00000000-11_kendall.compute_12.ptx, line 285; warning : Double is not supported. Demoting to float
/usr/local/cuda-5.0/bin/nvcc -gencode arch=compute_10,code=sm_10 -gencode arch=compute_11,code=sm_11 -gencode arch=compute_12,code=sm_12 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -c -I. -I/usr/local/cuda-5.0/include  -Xcompiler -fpic classification.cu -o classification.o
classification.cu:24:14: error: R.h: No such file or directory
make: *** [classification.o] Error 1
ERROR: compilation failed for package ‘gputools’
* removing ‘/usr/local/lib64/R/library/gputools’

The downloaded source packages are in
    ‘/tmp/RtmpD9AnXS/downloaded_packages’
Updating HTML index of packages in '.Library'
Making packages.html  ... done
Warning message:
In install.packages("gputools") :
  installation of package ‘gputools’ had non-zero exit status

答案1

我为这个问题开始了悬赏,但过了一段时间我终于找到了解决办法,所以我还不如把它发布在这里作为答案。

看起来 nvcc 正在请求 /usr/lib/R/include,但在 ubuntu 12.04 上不存在。以下是解决方案(在 ubuntu 12.04 上测试)

sudo aptitude install r-base-dev
cd /usr/lib/R
sudo ln -s /usr/share/R/include .

现在启动 R 并像往常一样安装 gputools。它应该可以工作。您应该能够在 centOS 上完成类似的事情。

答案2

我有 Debian Wheezy,并尽可能遵循 Nvidia 的 Ubuntu CUDA 说明。当我安装完所有东西后,我无法将 gputools 安装到 R3.01 中。这篇文章是解决问题的门票。一旦我在终端中使用以下两行创建链接,我就可以成功安装 gputools。

cd /usr/lib/R sudo ln -s /usr/share/R/include 。

不要忘记尾随的空格和点!!

如果您使用的是 Debian Wheezy,请确保您还在 PATH 和 LD_LIBRARY_PATH 中包含了 include cuda,如 Nvidia cuda 说明中所述。要使这些永久生效,请在 /etc/profile 中的 PATH 语句后添加以下两行。这些 PATH 语句位于 if ... fi 结构内,因此请将这些行放在 fi 语句后。将其放入 /etc/profile 将确保所有用户都可以使用更新。

导出 PATH=$PATH:/usr/local/cuda-5.5/bin 导出 LD_LIBRARY_PATH="/usr/local/cuda-5.5/lib64"

注意,如果你已经有了 LD_LIBRARY_PATH,你应该替换

导出 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.5/lib64

为了

导出 LD_LIBRARY_PATH="/usr/local/cuda-5.5/lib64"

干杯!

相关内容