我正在尝试使 Cuda 与我最近添加到我的工作站设备中的第二个 GPU 一起工作。
当我以前在我的计算机上下载和安装 Cuda 时,我有 Nvidia NVS 315 GPU。现在,我添加了一个 Quadro P400 GPU,我正在为其安装最新的 Cuda 版本,以便在运行深度学习算法(例如 Caffe2)的同时利用它来加速计算。但是,我不知道从什么开始。
检查以下输出:
英伟达-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.111 Driver Version: 384.111 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 NVS 315 Off | 00000000:01:00.0 N/A | N/A |
| 30% 45C P0 N/A / N/A | 255MiB / 956MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
| 1 Quadro P400 Off | 00000000:05:00.0 Off | N/A |
| 34% 34C P8 ERR! / N/A | 1MiB / 1999MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
nvcc --版本
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17
哪个nvcc
/usr/bin/nvcc
ldconfig -p | grep cuda
libnvToolsExt.so.1 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvToolsExt.so.1
libnvToolsExt.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvToolsExt.so
libicudata.so.55 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libicudata.so.55
libicudata.so.55 (libc6) => /usr/lib/i386-linux-gnu/libicudata.so.55
libicudata.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libicudata.so
libcudart.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudart.so.9.0
libcudart.so.7.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so.7.5
libcudart.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so
libcuda.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so.1
libcuda.so.1 (libc6) => /usr/lib/i386-linux-gnu/libcuda.so.1
libcuda.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so
libcuda.so (libc6) => /usr/lib/i386-linux-gnu/libcuda.so
我想让我的算法选择第二个 GPU (Quadro P400) 进行加速计算
要回答我的问题,是的,这是一团糟(确实如此)。
我按照此处的说明完全删除了 Cuda (卸载 cuda 及其依赖项),然后按照此处包含的说明安装了 Cuda 9.0 (如果您之前正确执行,则可以跳过卸载部分)。
之后,为了在 Conda 设置的虚拟环境中安装 Cuda 库并在 Caffe2 库中安装,我按照以下说明进行操作: