无法使用 sudo 命令编译 cuda
Posted
技术标签:
【中文标题】无法使用 sudo 命令编译 cuda【英文标题】:Cannot compile cuda using sudo command 【发布时间】:2014-09-08 08:24:05 【问题描述】:我尝试使用 nvcc 但使用 sudo 命令编译 cuda 程序。首先,它找不到 nvcc 编译器,所以我按照here 的建议做了,并在secure_path 中列出的目录之一中创建了一个指向nvcc 的符号链接,如下所示:sudo ln -s /path/to/nvcc /sbin/nvcc。
但现在我尝试编译并不断收到以下错误:nvcc 致命:未指定 libdevice 库的路径。
我猜这与在 root 模式下未正确设置的 LD_LIBRARY_PATH 变量有关,但我找不到解决它的方法。 有什么想法吗?
【问题讨论】:
LD_LIBRARY_PATH 与编译无关。它是操作系统的运行时指令,用于确定在启动应用程序时从何处加载共享库。 【参考方案1】:不仅要像你一样尝试提供 nvcc 的完整路径,还要像库一样提供其他依赖项的完整路径,即:
--dont-use-profile -ldir <path to your cuda_sdk/nvvm/libdevice/ > -I<path to your cuda_sdk/include/ dir> -L<path to your cuda_sdk/lib64/ dir>
解决方案基于this discussion,nvcc命令行参数解释见documentation
【讨论】:
是的,做到了。谢谢!以上是关于无法使用 sudo 命令编译 cuda的主要内容,如果未能解决你的问题,请参考以下文章
为啥 nvcc 无法使用 boost::spirit 编译 CUDA 文件?
为啥我无法链接到使用动态并行和可分离编译的 CUDA 静态库?