Ubuntu 链接器可以';t加载Nvidia管理库
我正在尝试将CUDA工具包安装到我的Ubuntu机器上,这样我就可以处理一些CUDA代码。我相信我已经正确安装了CUDA8.0,nvcc-version和nvidia smi的输出显示了这一点Ubuntu 链接器可以';t加载Nvidia管理库,ubuntu,cuda,Ubuntu,Cuda,我正在尝试将CUDA工具包安装到我的Ubuntu机器上,这样我就可以处理一些CUDA代码。我相信我已经正确安装了CUDA8.0,nvcc-version和nvidia smi的输出显示了这一点 nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2016 NVIDIA Corporation Built on Tue_Jan_10_13:22:03_CST_2017 Cuda compilation t
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.90 Driver Version: 384.90 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce 820M Off | 00000000:01:00.0 N/A | N/A |
| N/A 45C P8 N/A / N/A | 18MiB / 1985MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
我还添加了英伟达CUDA安装指南中提到的路径变量扩展。我正在编写的代码需要链接到英伟达工具箱中的几个库,即LCUDA、-LNVRTC和-LNVIDIA.ML。编译器可以找到前两个,只是一个错误,说它找不到Nvidia管理库的库。< /P>
/usr/bin/ld: cannot find -lnvidia-ml
<> PU> CUDA 8工具包应该已经包含英伟达管理库,据我所知,为什么链接器找不到它的任何想法?< /P> < P>该库实际上是由驱动程序安装的,不是由CUDA工具包(NVML实际上不是CUDA的一部分),它在不同于通常的CUDA库的位置结束。实际位置可能取决于发行版 无论如何,运行类似以下内容:
sudo find / -name libnvidia-ml.*
找出图书馆的位置。然后在-lnvidia ml
之前,将路径作为-L
链接器开关传递到该位置,如:
-L/path/to/libnvidia-ml -lnvidia-ml
我使用find来查找库文件的位置,但是尝试链接这三个文件中的任何一个都会出现如下错误/usr/bin/ld:/tmp/cczBuPIL.o:undefined引用符号“_znst6;15_M_start_threadESt10unique_ptrINS_6_statest14 default_deleteIS1_EEPFvvE@@GLIBCXX_3.4.22”//usr/lib/x86_64-linux-gnu/libstdc++.6:error adding符号:命令行中缺少DSO这是一个不同的问题。