如何在基于 poky/yocto 的 Linux 操作系统上使用 NVIDIA CUDA?

如何在基于 poky/yocto 的 Linux 操作系统上使用 NVIDIA CUDA?

我有一个 NVidia Jetson TK1 开发板 (ARM Cortex A15),它有一个支持 CUDA 的 Keplar GPU。我想使用 CUDA 使用 OpenCV 3.0 对其进行相同的图像处理。

阅读 NVidida 文档,我了解到 CUDA 只能安装在受支持的 Linux 发行版上。挑战是我没有使用附带的 Ubuntu 操作系统,而是使用我与 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

瞧,你完成了!

来源

相关内容