在 R 中调用 GPU 函数

Calling GPU functions in R

本文关键字:GPU 函数 调用      更新时间:2023-10-16

我已经成功安装了 CUDArpud。我能够 vecAdd.cu 编译和运行我的文件,但我想在 R 中调用此函数。我使用以下说明分别创建了 vecAdd.ovecAdd.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

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