Как проверить установку CUDA в 16.04?

Я довольно много работал, но я не уверен, что все в порядке.

nvidia-smiSun 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 --versionnvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2015 NVIDIA CorporationBuilt on Tue_Aug_11_14:27:32_CDT_2015Cuda 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 указывает на другой каталог?

nvcc живет в типичной папке для исполняемых файлов, в то время как остальные являются "драйверами" CUDA. В основном это решение Nvidia, но в нем есть смысл.

Скомпилируйте и запустите CUDA hello world

Лучший ответ на вопросы "что-то установлено правильно", как правило, звучит так: "попробуйте использовать его для того, для чего вы хотите его использовать, и посмотрите, не взорвется ли он и так ли быстро, как вы ожидаете".

Если часть "взрывается" выходит из строя, вы можете попробовать заставить hello world работать:

main.cu

#include <cassert>#define N 3__global__ void inc(int *a) {    int i = blockIdx.x;    if (i<N) {        a[i]++;    }}int main() {    int ha[N], *da;    cudaMalloc((void **)&da, N*sizeof(int));    for (int i = 0; i<N; ++i) {        ha[i] = i;    }    cudaMemcpy(da, ha, N*sizeof(int), cudaMemcpyHostToDevice);    inc<<<N, 1>>>(da);    cudaMemcpy(ha, da, N*sizeof(int), cudaMemcpyDeviceToHost);    for (int i = 0; i < N; ++i) {        assert(ha[i] == i + 1);    }    cudaFree(da);    return 0;}

Восходящий поток GitHub.

и скомпилировать и запустить с:

nvcc -o main.out main.cu./main.out

и утверждение не завершается сбоем при моей правильно работающей настройке.

Затем, если это не удастся, перейдите к тому, как установить вопросы:

Запустите несколько тестов CPU vs GPU

Более интересной проверкой производительности было бы взять хорошо оптимизированную программу, которая выполняет один Ускоряемый графический процессор алгоритм либо CPU, либо GPU, и запустите оба, чтобы узнать, быстрее ли версия GPU.

TODO предлагает и тестирует один из них здесь, например, умножение матриц с обоими МАГМА (ГРАФИЧЕСКИЙ ПРОЦЕССОР) и ЛАПАКЕ (ЦЕНТРАЛЬНЫЙ процессор). Они могут предоставлять один и тот же C API, поэтому сравнивать результаты может быть легко.

Затем вы могли бы также открыть nvidia-settings пока это выполняется, чтобы увидеть, действительно ли графический процессор используется только в версии GPU: Как мне проверить, использует ли Ubuntu мою видеокарту NVIDIA?