簡體   English   中英

NVCC CUDA 交叉編譯找不到“-lcudart”

[英]NVCC CUDA cross compiling cannot find “-lcudart”

我已經在我的 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

我試圖研究這個問題並遇到了這個鏈接: 在搜索 -lcudart 時跳過不兼容的 libcudart.so

所以我遵循了該鏈接上提供的建議並添加了

 /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$ 

但是問題依然存在,請大家幫忙。

CUDA 5.5是第一個支持 ARM v7 的 CUDA 版本。 您安裝的 CUDA 5.0 工具包沒有支持,這就是它找不到正確版本的 CUDA 運行時庫的原因。

事實證明,我從 NVIDIA 使用的 CUDA 安裝程序不允許我為我的 CARMA 板交叉編譯,但必須從制造商 SECO 下載它。

可能是,這是 Cuda Toolkits 的問題。 第一個 Cuda Toolkit 5.0 不支持 Arm。 第二個Cuda Toolkit 6.5 交叉編譯丟失了libcudart.so。 我解決了這個問題是從 Arm 的 Cuda Toolkit 6.5 復制 libcudart.so。

在 ~/.bashrc 中添加以下內容

導出路徑=/usr/local/cuda-5.0/bin:$PATH

導出 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

添加 /etc/ld.so.conf 這個:

/usr/local/cuda-5.0/lib /usr/local/cuda-5.0/lib64

並運行命令:ldconfig 你的編譯會找到 cudart lib

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM