Hoe krijg ik de CUDA-versie?

Is er een snel commando of script om te controleren of de versie van CUDA is geïnstalleerd?

Ik vond de handleiding van 4.0 onder de installatiemap, maar ik weet niet zeker of het de daadwerkelijke geïnstalleerde versie is of niet.


Antwoord 1, autoriteit 100%

Zoals Jared vermeldt in een opmerking, vanaf de opdrachtregel:

nvcc --version

(of /usr/local/cuda/bin/nvcc --version) geeft de CUDA-compilerversie (die overeenkomt met de toolkit-versie).

Van toepassingscode kunt u de runtime API-versie opvragen met

cudaRuntimeGetVersion()

of de driver API-versie met

cudaDriverGetVersion()

Zoals Daniel opmerkt, is deviceQuery een SDK-voorbeeldapp die het bovenstaande opvraagt, samen met de apparaatmogelijkheden.

Zoals anderen opmerken, kunt u ook de inhoud van de version.txtcontroleren met (bijvoorbeeld op Mac of Linux)

cat /usr/local/cuda/version.txt

Als er echter een andere versie van de CUDA-toolkit is geïnstalleerd, anders dan de versie die symbolisch is gekoppeld aan /usr/local/cuda, kan dit een onnauwkeurige versie melden als een andere versie eerder in uw PATHdan het bovenstaande, dus wees voorzichtig.


Antwoord 2, autoriteit 21%

Op Ubuntu Cuda V8:

$ cat /usr/local/cuda/version.txt

Je kunt ook inzicht krijgen in welke CUDA-versies zijn geïnstalleerd met:

$ ls -l /usr/local | grep cuda

wat je zoiets als dit geeft:

lrwxrwxrwx  1 root root    9 Mar  5  2020 cuda -> cuda-10.2
drwxr-xr-x 16 root root 4096 Mar  5  2020 cuda-10.2
drwxr-xr-x 16 root root 4096 Mar  5  2020 cuda-8.0.61

Gegeven een normaal PAD, zou de versie waar cudanaar verwijst de actieve versie moeten zijn (10.2 in dit geval).

OPMERKING: Dit werkt alleen als je bereid bent aan te nemen dat CUDA is geïnstalleerd onder /usr/local/cuda (wat waar is voor het onafhankelijke installatieprogramma met de standaardlocatie, maar niet waar bijvoorbeeld voor distributies met CUDA geïntegreerd als pakket) . Ref: commentaar van@einpoklum.


Antwoord 3, autoriteit 13%

Als je rent

nvidia-smi

U zou de CUDA-versie in de rechterbovenhoek van de uitvoer van het commando moeten vinden. Ik vond in ieder geval die uitvoer voor CUDA-versie 10.0, bijvoorbeeld
voer hier de afbeeldingsbeschrijving in


Antwoord 4, autoriteit 4%

Voor CUDA-versie:

nvcc --version

Of gebruik,

nvidia-smi

Voor cuDNN-versie:

Voor Linux:

Gebruik het volgende om het pad voor cuDNN te vinden:

$ whereis cuda
cuda: /usr/local/cuda

Gebruik dit dan om de versie uit het headerbestand te halen,

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

Voor Windows,

Gebruik het volgende om het pad voor cuDNN te vinden:

C:\>where cudnn*
C:\Program Files\cuDNN7\cuda\bin\cudnn64_7.dll

Gebruik dit dan om de versie uit het headerbestand te dumpen,

type "%PROGRAMFILES%\cuDNN7\cuda\include\cudnn.h" | findstr CUDNN_MAJOR

Als u twee verschillende versies voor CUDA op Windows krijgt –
Verschillende CUDA-versies weergegeven door nvcc en NVIDIA-smi


Antwoord 5, autoriteit 3%

Op Ubuntu:

Probeer

$ cat /usr/local/cuda/version.txt
of
$ cat /usr/local/cuda-8.0/version.txt

Soms heet de map “Cuda-versie”.

Als geen van bovenstaande werkt, ga dan naar:
$ /usr/local/
En vind de juiste naam van je Cuda-map.

Uitvoer moet vergelijkbaar zijn met:
CUDA Version 8.0.61


Antwoord 6, autoriteit 3%

Gebruik de volgende opdracht om de CUDA-installatie door Conda te controleren:

conda list cudatoolkit

En de volgende opdracht om de door conda geïnstalleerde CUDNN-versie te controleren:

conda list cudnn

Als u CUDA en CUDNN via CONDA wilt installeren/bijwerken, gebruik dan de volgende opdrachten:

conda install -c anaconda cudatoolkit
conda install -c anaconda cudnn

Als alternatief kunt u de volgende opdrachten gebruiken om de CUDA-installatie te controleren:

nvidia-smi

OF

nvcc --version

Als u tensorflow-gpu gebruikt via het Anaconda-pakket (u kunt dit verifiëren door Python eenvoudig in de console te openen en te controleren of de standaardpython Anaconda, Inc. laat zien wanneer het start, of u kunt welke python uitvoeren en de locatie controleren) , dan zal het handmatig installeren van CUDA en CUDNN hoogstwaarschijnlijk niet werken. U moet in plaats daarvan updaten via conda.

Als je CUDA, CUDNN of tensorflow-gpu handmatig wilt installeren, kun je de instructies hier bekijken https://www.tensorflow.org/install/gpu


Antwoord 7

Als u CUDA SDK heeft geïnstalleerd, kunt u “deviceQuery” uitvoeren om de versie van CUDA te zien


Antwoord 8

Misschien vindt u CUDA-Z nuttig, hier is een citaat van hun site:

“Dit programma is geboren als een parodie op andere Z-hulpprogramma’s zoals CPU-Z en GPU-Z. CUDA-Z toont wat basisinformatie over voor CUDA geschikte GPU’s en GPGPU’s. Het werkt met nVIDIA Geforce, Quadro en Tesla kaarten, ION-chipsets.”

http://cuda-z.sourceforge.net/

Op het tabblad Ondersteuning staat de URL voor de broncode: http://sourceforge. net/p/cuda-z/code/en de download is eigenlijk geen installatieprogramma maar het uitvoerbare bestand zelf (geen installatie, dus dit is “snel”).

Dit hulpprogramma biedt veel informatie en als je wilt weten hoe het is afgeleid, kun je de Bron bekijken. Er zijn andere soortgelijke hulpprogramma’s waarnaar u zou kunnen zoeken.


Antwoord 9

Je kunt de cuda-versie krijgen door het volgende in de terminal te typen:

$ nvcc -V
# below is the result
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

Als alternatief kan men handmatigde versie controleren door eerst de installatiemap te achterhalen met:

$ whereis -b cuda         
cuda: /usr/local/cuda

En dan cdin die map en controleer op de CUDA-versie.


Antwoord 10

Eerst moet je zien waar Cuda is geïnstalleerd.

Als het een standaardinstallatie is, zoals hier, moet de locatie zijn:

voor ubuntu:

/usr/local/cuda

in deze map zou je een bestand moeten hebben

versie.txt

open dit bestand met een teksteditor of voer het uit:

cat version.txt

uit de map

OF

cat /usr/local/cuda/version.txt 

Antwoord 11

We hebben drie manieren om de versie te controleren:
In mijn geval is hieronder de uitvoer: –
Manier 1:-

cat /usr/local/cuda/version.txt

Uitvoer:-

CUDA Version 10.1.243

Manier2:-

nvcc --version

Uitvoer:-

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

Manier3:-

/usr/local/cuda/bin/nvcc --version

Uitvoer:-

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

Manier4:-

nvidia-smi
NVIDIA-SMI 450.36.06    Driver Version: 450.36.06    CUDA Version: 11.0

Uitgangen zijn niet hetzelfde. Ik weet niet waarom het gebeurt.


Antwoord 12

Na het installeren van CUDA kan men de versies controleren door: nvcc -V

Ik heb zowel 5.0 als 5.5 geïnstalleerd, dus het geeft

Cuda-compilatietools, release 5.5,V5.5,0

Deze opdracht werkt voor zowel Windows als Ubuntu.


Antwoord 13

Afgezien van de hierboven genoemde, bevat uw CUDA-installatiepad (indien niet gewijzigd tijdens de installatie) meestal het versienummer

een which nvcchet pad moet geven en dat geeft je de versie

PS: Dit is een snelle en vuile manier, de bovenstaande antwoorden zijn eleganter en zullen met veel moeite resulteren in de juiste versie


Antwoord 14

Als je op linux draait:

dpkg -l | grep cuda

Antwoord 15

Als u PyTorch hebt geïnstalleerd, kunt u eenvoudig de volgende code in uw IDE uitvoeren:

import torch
print(torch.version.cuda)

Antwoord 16

In Windows 10 vond ik nvidia-smi.exe in ‘C:\Program Files\NVIDIA Corporation\NVSMI’; na cd in die map (was niet in het PATH in mijn geval) en ‘.\nvidia-smi.exe’ liet het zien
voer hier de afbeeldingsbeschrijving in


Antwoord 17

als nvcc –version niet voor u werkt, gebruik dan cat /usr/local/cuda/version.txt


Antwoord 18

Je zou ook kunnen gebruiken:

nvidia-smi | grep "CUDA Version:" 

Om de expliciete regel op te halen.


Antwoord 19

Open een terminal en voer deze opdrachten uit:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

Je kunt de informatie krijgen van CUDA Driver-versie, CUDA Runtime-versie, en ook gedetailleerde informatie voor GPU(‘s). Een afbeeldingsvoorbeeld van de uitvoer van mijn kant is zoals hieronder.

Je kunt de afbeelding hier vinden.


Antwoord 20

ik krijg /usr/local – zo’n bestand of map bestaat niet. Hoewel nvcc -V

. geeft

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Sun_Sep__4_22:14:01_CDT_2016
Cuda compilation tools, release 8.0, V8.0.44

Antwoord 21

Programmatisch met de CUDA Runtime API C++-wrappers:

auto v1 = cuda::version::maximum_supported_by_driver();
auto v2 = cuda::version::runtime();

Dit geeft je een cuda::version_tstructuur, die je kunt vergelijken en ook kunt streamen, bijvoorbeeld:

if (v2 < cuda::version_t{ 8, 0 } ) {
    std::cerr << "CUDA version " << v2 << " is insufficient." std::endl;
}

Antwoord 22

Mijne gevonden na:

whereis cuda

bij

cuda: /usr/lib/cuda /usr/include/cuda.h

met

nvcc --version

CUDA versie 9.1.85


Antwoord 23

Andere respondenten hebben al beschreven welke commando’s kunnen worden gebruikt om de CUDA-versie te controleren. Hier zal ik beschrijven hoe de uitvoer van die commando’s kan worden omgezet in een omgevingsvariabele in de vorm “10.2”, “11.0”, enz.

Om samen te vatten, kunt u

nvcc --version

om de CUDA-versie te weten te komen.
Ik denk dat dit je eerste aanspreekpunt moet zijn.
Als je meerdere versies van CUDA hebt geïnstalleerd, moet deze opdracht de versie afdrukken voor de kopie die het hoogst is op je PATH.

De uitvoer ziet er als volgt uit:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Thu_Jun_11_22:26:38_PDT_2020
Cuda compilation tools, release 11.0, V11.0.194
Build cuda_11.0_bu.TC445_37.28540450_0

We kunnen deze uitvoer door sed sturen om alleen het MAJOR.MINOR versienummer van de release te kiezen.

CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9\.]\+\).*$/\1/p')

Als nvcc niet op uw pad staat, zou u het moeten kunnen uitvoeren door in plaats daarvan het volledige pad naar de standaardlocatie van nvcc op te geven.

/usr/local/cuda/bin/nvcc --version

De uitvoer is hetzelfde als hierboven en kan op dezelfde manier worden geparseerd.

Als alternatief kunt u de CUDA-versie vinden in het bestand version.txt.

cat /usr/local/cuda/version.txt

De uitvoer waarvan

CUDA Version 10.1.243

kan worden geparseerd met sed om alleen het MAJOR.MINOR versienummer van de release te kiezen.

CUDA_VERSION=$(cat /usr/local/cuda/version.txt | sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/')

Merk op dat het bestand version.txt soms verwijst naar een andere CUDA-installatie dan de nvcc --version. In dit scenario zou de nvcc-versie de versie moeten zijn die u daadwerkelijk gebruikt.

We kunnen deze drie methoden samen combineren om de CUDA-versie als volgt robuust te krijgen:

if nvcc --version 2&> /dev/null; then
    # Determine CUDA version using default nvcc binary
    CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9\.]\+\).*$/\1/p');
elif /usr/local/cuda/bin/nvcc --version 2&> /dev/null; then
    # Determine CUDA version using /usr/local/cuda/bin/nvcc binary
    CUDA_VERSION=$(/usr/local/cuda/bin/nvcc --version | sed -n 's/^.*release \([0-9\.]\+\).*$/\1/p');
elif [ -f "/usr/local/cuda/version.txt" ]; then
    # Determine CUDA version using /usr/local/cuda/version.txt file
    CUDA_VERSION=$(cat /usr/local/cuda/version.txt | sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/')
else
    CUDA_VERSION=""
fi

Deze omgevingsvariabele is handig voor downstream-installaties, zoals wanneer pip een kopie van pytorch installeert die is gecompileerd voor de juiste CUDA-versie.

python -m pip install \
    "torch==1.9.0+cu${CUDA_VERSION/./}" \
    "torchvision==0.10.0+cu${CUDA_VERSION/./}" \
    -f https://download.pytorch.org/whl/torch_stable.html

Op dezelfde manier zou je de CPU-versie van pytorch kunnen installeren als CUDA niet is geïnstalleerd.

if [ "$CUDA_VERSION" = "" ]; then
    MOD="+cpu";
    echo "Warning: Installing CPU-only version of pytorch"
else
    MOD="+cu${CUDA_VERSION/./}";
    echo "Installing pytorch with $MOD"
fi
python -m pip install \
    "torch==1.9.0${MOD}" \
    "torchvision==0.10.0${MOD}" \
    -f https://download.pytorch.org/whl/torch_stable.html

Maar wees hier voorzichtig mee, want u kunt per ongeluk een versie met alleen CPU installeren als u GPU-ondersteuning wilde hebben.
Als u bijvoorbeeld het installatiescript uitvoert op het inlogknooppunt van een server die geen GPU’s heeft, hoewel uw taken worden geïmplementeerd op knooppunten die wel GPU’s hebben. In dit geval is CUDA meestal niet geïnstalleerd op het inlogknooppunt.


Antwoord 24

Je kunt de versie van CUDA controleren met

nvcc -V

of je kunt gebruiken

nvcc --version

of U kunt de locatie controleren waar de CUDA wordt gebruikt

whereis cuda

en doe dan

cat location/of/cuda/you/got/from/above/command

Antwoord 25

Als er een niet-overeenkomende versie is tussen nvcc en nvidia-smi, worden verschillende versies van cuda gebruikt als stuurprogramma en runtime-omgeving.

Om ervoor te zorgen dat dezelfde versie van CUDA-stuurprogramma’s wordt gebruikt, moet u CUDA op het systeempad krijgen.

Ren eerst whereis cuda en zoek de locatie van de cuda-driver.

Ga vervolgens naar .bashrc en wijzig de padvariabele en stel de zoekvolgorde voor de directory in met behulp van variabele ‘LD_LIBRARY_PATH’.

bijvoorbeeld

$ whereis cuda
cuda: /usr/lib/cuda /usr/include/cuda.h /usr/local/cuda

CUDA is geïnstalleerd op /usr/local/cuda, nu moeten we naar .bashrc en de padvariabele toevoegen als:

vim  ~/.bashrc
export PATH="/usr/local/cuda/bin:${PATH}"

en stel na deze regel het zoekpad voor de directory in als:

export LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"

Sla vervolgens het .bashrc-bestand op. En ververs het als:

$ source ~/.bashrc

Dit zorgt ervoor dat je nvcc -V en nvidia-smi hebt om dezelfde versie van stuurprogramma’s te gebruiken.

Other episodes