我已成功安装 CUDA 和 rpud 。我能够编译并运行我的文件 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")
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
答案 0 :(得分:2)
将以下行添加到.csrc文件中修复它:setenv R_INC_PATH / usr / lib64 / R / include:$ LD_LIBRARY_PATH