c++ - 在 R 中调用 GPU 函数

标签 c++ linux r cuda

我已成功安装CUDArpud。我能够编译并运行我的文件 vecAdd.cu,但我想在 R 中调用此函数。我使用以下指令创建 vecAdd.o 和 <分别是strong>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")

dyn.load("/home/CUDACodes/VecAdd.so") 中出现错误: 无法加载共享对象'/home/CUDACodes/VecAdd.so': libcudart.so.5.5:无法打开共享对象文件:没有这样的文件或目录

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

dyn.load(文件, DLLpath = DLLpath, ...) 中出现错误: 无法加载共享对象'/home/ac43/lib/R/gputools/libs/gputools.so': libcublas.so.5.5:无法打开共享对象文件:没有这样的文件或目录

最佳答案

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

关于c++ - 在 R 中调用 GPU 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18796727/

相关文章:

c++ - 连接到网络的所有设备的列表

r - 为什么R的data.table比pandas快得多?

r - 使用 purrr 应用累积函数

c++ - 两个具有相同代码的共享对象(.so)文件的一致性如何

c++ - 从套接字转换(解析)谷歌 Protocol Buffer 流

c++ - 使用 CMake 生成 DLL 配置类型

r - 删除数据框中某个变量下值为 0 的行

c++ - 你如何缩进预处理器语句?

regex - 使用 find 匹配以数字开头的文件名

linux - 使用 perf 测量到达主函数的时间?