运行 .cu 示例程序的具体步骤是什么?我找到了一个名为 vectorAdd 的示例应用程序,但我不知道如何编译和运行它。网上说,
nvcc -o a.out vectorAdd.cu
./a.out
可以完成这项工作,但我收到了错误
nvcc command not found
我应该做什么?PS:我使用的是 Ubuntu 16.04,ARM
答案1
打开终端并输入:
gedit ~/.bashrc
这将打开 .bashrc 进行编辑。将以下内容添加到 .bashrc 文件末尾。
export PATH="$PATH:/usr/local/cuda-8.0/bin"
这会将您的 PATH 变量设置为现有 PATH 加上您添加到末尾的内容。
在主目录中运行source ~/.bashrc
以重新加载会话的配置。
然后输入nvcc
来运行它。
答案2
首先阅读 CUDA 安装指南中的 Ubuntu 部分:例如https://docs.google.com/viewer?url=https%3A%2F%2Fdocs.nvidia.com%2Fcuda%2Fpdf%2FCUDA_Installation_Guide_Linux.pdf&pdf=true
第 6 章中关于设置环境变量 PATH 和 LD_LIBRARY_PATH 的建议表明,您的 cuda 添加应该位于现有 PATH 的开头。这样,您只需将 ...cuda/bin 的链接添加到所需版本,即可用旧版本覆盖系统 g++ 或 gcc。您最不想做的事情就是更改系统默认编译器——当内核更新时,该编译器可能无法成功更新您的视频驱动程序。如果您所做的一切都可能使用旧编译器,请继续修改 .profile 中的 PATH 设置,以便每次登录时都设置您的 cuda 路径。如果您只希望 CUDA 工作使用旧编译器,请将 PATH、LD_LIBRARY_PATH 修改放入脚本中,以便在需要时进行源代码处理。
分发的样本不可写入,因此指南建议您将它们复制到可写位置(由您拥有)。
nvcc 位于 ...cuda/bin 中,如果您的 PATH 正确,则应该可以找到它。使用
nvcc --version 进行测试。所有示例都有一个 Makefile,因此构建示例的正确方法是在示例目录中简单地键入命令“make”(无引号)。
您的直接编译会失败,因为找不到必要的包含文件——Makefile 在其编译命令中具有搜索包含文件所需的明确位置。示例中有一个顶级 Makefile,它应该运行示例的所有单个 makefile,但有些可能需要额外的库,并且至少有一个似乎占用大量内存(simpleSeparateCompilation),如果触发交换,将需要很长时间。