
我有一個 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:
- 確保您的圖片已
IMAGE_FEATURES += "package-management"
包含在內。 - 在 local.conf 中,更改
PACKAGE_CLASSES
為package_deb
- 添加
gnupg
並apt
至CORE_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
瞧,你完成了!