如何在基於 poky/yocto 的 Linux 作業系統上使用 NVIDIA CUDA?

如何在基於 poky/yocto 的 Linux 作業系統上使用 NVIDIA CUDA?

我有一個 NVidia Jetson TK1 開發板 (ARM Cortex A15),它有一個支援 CUDA 的 Keplar GPU。我想使用 CUDA 使用 OpenCV 3.0 對其進行相同的影像處理。

Reading through the NVidida docs, I came to know that CUDA can be installed only on supported linux distros.. The challenge is that I am not using the Ubuntu OS that came with it but a light weight embedded OS that I cross compiled with the Yocto專案. OpenCV 已編譯並安裝並支援 CUDA,但無法使用 GPU。

但我知道這是可能的,因為郵件清單中的某人以前已經這樣做過。這裡是對話。我需要做的就是將正確的二進位放在正確的位置。

問題是我不知道從哪裡獲取適用於我的架構的“來自 nvidia 的預編譯驅動程式包”以及將它們放在哪裡。任何幫助,將不勝感激。

答案1

有可能的。如果你有 apt 和 dpkg,這很容易。就我而言,我沒有兩者,因此必須安裝它們。如果您已經安裝了 apt,請跳至「安裝 CUDA」。

您需要安裝 apt install CUDA 二進位。您需要執行以下兩個步驟以確保您的影像具有 apt:

  1. 確保您的圖片已IMAGE_FEATURES += "package-management"包含在內。
  2. 在 local.conf 中,更改PACKAGE_CLASSESpackage_deb
  3. 添加gnupgaptCORE_IMAGE_EXTRA_INSTALL

安裝 CUDA。

因此,您所要做的就是使用裝置上的 Web 瀏覽器下載 CUDA Toolkit for L4T 的 .deb 文件,或下載到您的 PC 上,然後使用 USB 隨身碟或透過網路將檔案複製到您的裝置。 (確保您下載的是 L4T 工具包,而不是 Ubuntu 工具包,因為它用於交叉編譯而不是本機編譯)。

您需要下載與您的L4T版本對應的工具包。例如,我運行 R21.4,因此我可以從以下位置下載我的版本:這裡。在頁面您將找到最新版本的二進位。

現在安裝您手動下載 L4T 的 CUDA 儲存庫元數據

sudo dpkg -i cuda-repo-l4t-<version-you-downloaded>_armhf.deb

下載並安裝實際的 CUDA 工具包,包括 NVIDIA 的 OpenGL 工具包。它只下載約 15MB。在下面的第二個命令中,如果您下載了 CUDA 6.0,請安裝“cuda-toolkit-6-0”;如果您下載了 CUDA 6.5,請安裝“cuda-toolkit-6-5”,等等。

sudo apt-get update
sudo apt-get install cuda-toolkit-x-x

將自己新增至「視訊」群組以允許存取 GPU

sudo usermod -a -G video $USER

將 32 位元 CUDA 路徑新增至 .bashrc 登入腳本中,並開始在目前控制台中使用它:

echo "# Add CUDA bin & library paths:" >> ~/.bashrc
echo "export PATH=/usr/local/cuda/bin:$PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc

最後驗證您的裝置上是否安裝了 CUDA 工具包:

nvcc -V

瞧,你完成了!

來源

相關內容