【问题标题】:Calling GPU functions in R在 R 中调用 GPU 函数
【发布时间】:2013-09-13 23:29:31
【问题描述】:

我已成功安装 CUDArpud。我能够编译并运行我的文件 vecAdd.cu,但我想在 R 中调用此函数。我使用以下指令创建 vecAdd.o 和 vecAdd.so,我没有错误。

nvcc -m64 -I/usr/local/cuda-5.5/include -I/usr/include/R - I/usr/local/include -g -O2 -c -o VecAdd.o VecAdd.cu --ptxas-options -v -Xcompiler -fPIC

g++ -m64 -std=gnu99 -shared -L/usr/local/lib64 -o VecAdd.so VecAdd.o -L/usr/lib64/R/lib -lR -L/usr/local/cuda-5.5/lib64 -lcuda -lcudart -lcurand -lm

当我尝试在 R 中加载它时:

> dyn.load("/home/CUDACodes/VecAdd.so")

Error in dyn.load("/home/CUDACodes/VecAdd.so") : unable to load shared object '/home/CUDACodes/VecAdd.so': libcudart.so.5.5: cannot open shared object file: No such file or directory

不知道是否相关,但是当我尝试安装 gputools 包时,我收到了这个错误:

Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared object '/home/ac43/lib/R/gputools/libs/gputools.so': libcublas.so.5.5: cannot open shared object file: No such file or directory

【问题讨论】:

  • 你安装了 cuda 5.5 吗?在尝试在 R 中加载 .so 库之前,您的 LD_LIBRARY_PATH 变量是 set appropriately 吗?
  • 是的,CUDA 5.5。我认为 LD_LIBRARY_PATH 设置得当。如果不是,我无法安装 rpud。
  • 那么当你尝试加载 .so 库时,R 可能是not picking up your environment
  • 这是有道理的。我可能需要等待系统管理员。感谢您的帮助,很抱歉我三天前开始使用 linux,只是修改 .cshrc 文件以让 CUDA 示例工作对我来说是一个很大的目标。谢谢!
  • @user2778066:请将此添加为答案,以便我们可以从未回答的问题中解决此问题。在Stack Overflow 上回答您自己的问题是完全可以的。

标签: c++ linux r cuda


【解决方案1】:

将以下行添加到 .csrc 文件修复它:setenv R_INC_PATH /usr/lib64/R/include:$LD_LIBRARY_PATH

【讨论】:

    猜你喜欢
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 2023-01-19
    • 2015-07-22
    • 2015-09-12
    • 1970-01-01
    • 2023-02-06
    相关资源
    最近更新 更多