我工作了很多,但我不确定是否一切正常。
nvidia-smi
Sun May 21 11:29:57 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.39 Driver Version: 375.39 |
|-------------------------------+----------------------+----------------------+
| 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 GT 730 Off | 0000:01:00.0 N/A | N/A |
| 40% 39C P8 N/A / N/A | 295MiB / 1984MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
然后
nvcc --version
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
最后
which nvcc
/usr/bin/nvcc
但是我的安装目录是
ldconfig -p | grep cuda
libnvrtc.so.8.0 (libc6,x86-64) => /usr/local/cuda-8.0/targets/x86_64-linux/lib/libnvrtc.so.8.0
libnvrtc.so (libc6,x86-64) => /usr/local/cuda-8.0/targets/x86_64-linux/lib/libnvrtc.so
libnvrtc-builtins.so.8.0 (libc6,x86-64) => /usr/local/cuda-8.0/targets/x86_64-linux/lib/libnvrtc-builtins.so.8.0
libnvrtc-builtins.so (libc6,x86-64) => /usr/local/cuda-8.0/targets/x86_64-linux/lib/libnvrtc-builtins.so
这样可以吗?为什么nvcc指向其他目录?
是的,一切都如预期的那样。
nvcc
位于可执行文件的典型文件夹中,而其他文件夹是 CUDA“驱动程序”。这主要是英伟达的决定,但这是有道理的。编译并运行一个 CUDA hello world
“是否安装正确”问题的最佳答案往往是:“尝试将其用于您想使用的任何东西,看看是否会爆炸以及它是否像您预期的那样快”。
如果“炸毁”部分失败,您可能想尝试让一个 hello world 工作:
主文件
GitHub 上游.
并编译和运行:
并且断言在我正常工作的设置上不会失败。
然后,如果失败,请查看如何安装问题:
运行一些 CPU 与 GPU 基准测试
更有趣的性能检查是采用一个优化良好的程序,该程序在 CPU 或 GPU中执行单个GPU 可加速算法,并运行两者以查看 GPU 版本是否更快。
TODO 在这里提出并测试一个,例如与MAGMA (GPU)和 LAPACKE (CPU) 的矩阵乘法。它们可能会公开相同的 C API,因此可以很容易地比较结果。
然后,您还可以
nvidia-settings
在运行时打开以查看 GPU 是否实际上仅在 GPU 版本中使用:如何检查 Ubuntu 是否正在使用我的 NVIDIA 显卡?