我在我的Ubuntu虚拟机上安装了CUDA 5.0和NVCC,并且在编译基本的CUDA C程序时遇到了问题。错误如下:
user@ubuntu:~/CUDA$ nvcc helloworld.cu -o helloworld.o -target-cpu-arch=ARM -ccbin=/usr/bin/arm-linux-gnueabi-gcc-4.6 --machine=32
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/local/cuda-5.0/bin/../lib/libcudart.so when searching for -lcudart
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libcudart.so when searching for -lcudart
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: cannot find -lcudart
collect2: ld returned 1 exit status
我试图研究这个问题并遇到了这个链接:skipping incompatible libcudart.so when searching for -lcudart
所以我按照该链接提供的建议添加了
/usr/local/cuda-5.0/lib64
和
/usr/local/cuda-5.0/lib
到我的LD_LIBRARY_PATH环境变量,现在这是
的结果 user@ubuntu:~/CUDA$ echo $LD_LIBRARY_PATH
/usr/local/cuda-5.0/lib:/usr/local/cuda-5.0/lib64
user@ubuntu:~/CUDA$
然而,问题仍然存在,请帮忙。
答案 0 :(得分:1)
CUDA 5.5是第一个支持ARM v7的CUDA版本。您安装的CUDA 5.0工具包没有支持,这就是它无法找到正确版本的CUDA运行时库的原因。
答案 1 :(得分:0)
事实证明,我在NVIDIA上使用的CUDA安装程序不允许我为我的CARMA板交叉编译,但必须从制造商SECO下载。
答案 2 :(得分:0)
可能是,这是Cuda Toolkits的一个问题。 第一个Cuda Toolkit 5.0不支持Arm。 第二个Cuda Toolkit 6.5交叉编译丢失了libcudart.so。我解决了这个问题是从Cuda Toolkit 6.5 by Arm。复制libcudart.so。
答案 3 :(得分:0)
在〜/ .bashrc中添加以下内容
export PATH = / usr / local / cuda-5.0 / bin:$ PATH
export LD_LIBRARY_PATH = / usr / local / cuda-5.0 / lib64:$ LD_LIBRARY_PATH
在以下文件中-> /etc/ld.so.conf.d/cuda.conf
/usr/local/cuda-5.0/lib64
运行:sudo ldconfig
答案 4 :(得分:-3)
添加/etc/ld.so.conf:
/usr/local/cuda-5.0/lib /usr/local/cuda-5.0/lib64
并运行命令:ldconfig 你的编译将找到cudart lib