CUDA 示例代码未通过 sudo apt-get install nvidia-cuda-toolkit 安装;有什么解决方案吗?

CUDA 示例代码未通过 sudo apt-get install nvidia-cuda-toolkit 安装;有什么解决方案吗?

我刚刚在 Ubuntu 16.04 工作站上安装了 Nvidia GTX 1070,并按照说明通过图形驱动程序 PPA 成功安装了最新的驱动程序这里

nvidia-367 驱动程序使我的 GPU 能够在我的系统上正常工作,并纠正了之前在运行 Nouveau 时完全关闭的分辨率。

我的机器不是用来玩游戏的,而是用来做数据科学的,所以我需要 CUDA 工具包链(涵盖 NVCC、CUDA 加速库等的工具套件),所以我继续使用单个命令安装它们sudo apt-get install nvidia-cuda-toolkit。整个安装过程很顺利,但最后我意识到我缺少了一件事:CUDA 代码示例

经过一番搜索,我还是没能找到一种方法来将 CUDA 代码示例独立安装到我的系统中。根据我对 Nvidia 文档的理解,当我通过从 Nvidia CUDA 下载网页下载的 .deb 或 .run 文件安装 CUDA 工具包时,这些示例会自动安装。

我的问题是:

  • 有什么方法可以获取 Nvidia CUDA 示例的源文件?仅需原始源文件和正确的 Makefile,这样我就可以编译这些示例并运行它们,而无需经历整个 Nvidia CUDA 工具包安装程序?

  • 否则,有没有人有使用 Nvidia 安装程序的经验,如果有,是否有人知道我是否可以跳过 CUDA 工具包的安装(因为我已经通过 apt-get 完成了安装)并只使用安装程序下载 CUDA 示例?

我的后续问题是:

  • 我没有使用 Nvidia 安装程序安装 CUDA 工具包,是不是做错了?使用 apt-get 和 apt-get 有什么区别?首先,我注意到 CUDA 二进制文件的安装位置似乎有所不同。使用 apt-get,NVCC 和 NVProf 等工具的二进制文件位于我的 /usr/bin 文件夹中(它们也可以在 /usr/lib/nvidia-cuda-toolkit/bin 中找到;我猜它们首先被编译并存储在 /usr/lib/nvidia-cuda-toolkit/bin 下,但后来被复制到 /usr/bin)。但似乎使用 Nvidia 安装程序,它们最终会位于其他地方,因为文档建议对 $PATH 环境变量进行修改。

如果您能对我在此处提出的几个问题中的任何一个做出部分回答,或者对我思考这个问题的方式提出其他建议,我将不胜感激。谢谢!

答案1

以下是我遵循的指示:

  1. 访问 CUDA 网站
  2. 下载 .run 文件
  3. 按 ctrl+alt+f1 进入终端模式后安装 .run 文件
  4. 关闭后台运行的 x-window 系统
  5. 安装至少版本 371 的 nvidia 驱动程序
  6. 通过运行.run 文件安装 cuda。当它提示您时,请不要安装高级 nvidia 驱动程序。
  7. 重启
  8. 通过构建 1_utilities/deviceQuery 示例并运行它来进行测试。最后应该显示 Result = Pass。

这很困难,因为 .run 文件尝试安装的高级 nvidia 驱动程序与我的桌面环境不兼容,但我的 ppi 中的 nvidia 驱动程序版本对于 CUDA 来说太旧了。所以,我不得不找到一个带有较新 nvidia 驱动程序的 ppa。

答案2

NVIDIA 在此处发布了样本:https://github.com/NVIDIA/cuda-samples

确保获取与您的 CUDA 版本相对应的版本(从 v9.2 开始):https://github.com/NVIDIA/cuda-samples/releases

(我认为这个 repo 可能会错过安装程序中提供的一些示例,但我不确定。)

答案3

我遇到了完全相同的问题。我正在尝试使用 Ubuntu 16.04 和 GTX1080 以及 CUDA 7.5 测试我的工作设置以进行并行计算,并希望通过使用存储库中提供的软件包轻松完成此操作。不幸的是,如上所述,它们缺失了。可以使用运行文件安装仅安装示例。例如,请参阅旧版本:

https://stackoverflow.com/questions/27306724/ubuntu-14-04-how-to-install-cuda-6-5-without-installing-nvidia-driver

这也适用于 7.5。当提示安装驱动程序和工具包时,只需说“否”。您还需要设置正确的工具包库。默认情况下,这会将 cuda 示例安装到您的主目录中。但是,似乎存在找不到库的问题,因为来自 repo 的包也将它们放在了不同的位置。

但是一些简单的示例(例如 matrixMul)可以编译并正常运行。

通过添加正确的路径可能有一个简单的解决方法,但可能至少安装 cuda-toolkit 以及来自运行文件的示例应该可以使其“开箱即用” - 还没有尝试过......

答案4

这是 Nvidia 有意为之。https://docs.nvidia.com/cuda/cuda-samples/index.html

从 CUDA 11.6 开始,所有 CUDA 示例现在仅在GitHub 存储库。它们不再通过 CUDA 工具包提供。

相关内容