Hoe controleer je de CUDA-versie op Ubuntu [Eenvoudige commandogids]

目次

1. Inleiding

CUDA (Compute Unified Device Architecture) is een parallel rekenplatform ontwikkeld door NVIDIA dat GPU’s gebruikt. Het wordt veel gebruikt voor machine learning, deep learning, 3D-rendering en verschillende andere rekenopdrachten.

Bij het gebruik van CUDA in een Ubuntu-omgeving is het cruciaal om de CUDA-versie te controleren om de volgende redenen:

Compatibiliteit met de driver

CUDA vereist een specifieke versie van de NVIDIA-driver om correct te functioneren. Als de versies incompatibel zijn, werkt CUDA mogelijk niet goed.

Compatibiliteit met bibliotheken

Bibliotheken zoals TensorFlow en PyTorch vereisen specifieke CUDA- en cuDNN-versies. Het is essentieel om ervoor te zorgen dat je de juiste versie hebt geïnstalleerd.

Voorkomen van systeembelazing

Als meerdere CUDA-versies zijn geïnstalleerd op het systeem, is het noodzakelijk om te identificeren welke versie actief is en tussen versies te schakelen indien nodig.

In dit artikel geven we een duidelijke uitleg over hoe je de CUDA-versie op Ubuntu kunt controleren.

2. Hoe de CUDA-versie op Ubuntu te controleren

In een Ubuntu-omgeving kun je de CUDA-versie controleren met de volgende methoden:

Methode 1: Controleren met de nvidia-smi-opdracht (Eenvoudigste methode)

De NVIDIA-driver bevat een tool genaamd nvidia-smi (NVIDIA System Management Interface) waarmee je de status van je GPU kunt controleren.

Uitvoeringsopdracht

nvidia-smi

Voorbeeldoutput

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03    Driver Version: 530.41.03    CUDA Version: 12.1     |
+-----------------------------------------------------------------------------+

Belangrijke punten

  • De weergegeven CUDA Version: 12.1 vertegenwoordigt de maximale CUDA-versie die wordt ondersteund door de NVIDIA-driver.
  • Dit komt niet altijd overeen met de geïnstalleerde CUDA-toolkitversie, dus het wordt aanbevolen om aanvullende methoden te gebruiken om te controleren.

Methode 2: Controleren met de nvcc -V-opdracht (Voor ontwikkelaars)

Als CUDA correct is geïnstalleerd, kun je de versie van nvcc (de CUDA-compiler) controleren.

Uitvoeringsopdracht

nvcc -V

Voorbeeldoutput

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Sun_Jul_30_19:09:40_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105

Belangrijke punten

  • Het deel dat zegt release 12.1, V12.1.105 geeft de geïnstalleerde CUDA-toolkitversie aan.
  • Dit kan verschillen van de versie die door nvidia-smi wordt weergegeven, dus wees voorzichtig.

Methode 3: Het version.txt-bestand controleren (Handmatige verificatie)

Als CUDA is geïnstalleerd in /usr/local/cuda, wordt de versie-informatie vastgelegd in het version.txt-bestand.

Uitvoeringsopdracht

cat /usr/local/cuda/version.txt

Voorbeeldoutput

CUDA Version 12.1.105

Belangrijke punten

  • Deze methode is nuttig als de nvcc -V-opdracht niet beschikbaar is.
  • Zorg ervoor dat /usr/local/cuda correct is gekoppeld aan de gewenste CUDA-versie.

3. Hoe de cuDNN-versie te controleren

cuDNN (CUDA Deep Neural Network) is een bibliotheek ontworpen voor deep learning en wordt in combinatie met CUDA gebruikt.
Naast het controleren van de CUDA-versie is het ook belangrijk om de cuDNN-versie te verifiëren.

Methode 1: Het cudnn_version.h-bestand controleren

De cuDNN-versie is vastgelegd in het headerbestand cudnn_version.h.

Uitvoeringsopdracht

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

Voorbeeldoutput

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 1

Belangrijke punten

  • Deze output bevestigt dat cuDNN 8.9.1 is geïnstalleerd.
  • Met de grep-opdracht kun je eenvoudig de cuDNN-versie-informatie ophalen.
  • Aangezien cuDNN compatibel moet zijn met CUDA, is het belangrijk om de juiste combinatie van versies te verifiëren.

Methode 2: Controleren met de dpkg-opdracht (Voor Debian-gebaseerde Linux)

Op Ubuntu en andere Debian-gebaseerde Linux-distributies kun je de geïnstalleerde cuDNN-versie controleren met de dpkg-opdracht.

Uitvoeringscommando

dpkg -l | grep libcudnn

Voorbeeldoutput

ii  libcudnn8    8.9.1-1+cuda12.1    amd64    NVIDIA cuDNN Library

Belangrijke Punten

  • Het deel libcudnn8 8.9.1-1+cuda12.1 bevestigt de geïnstalleerde cuDNN-versie (8.9.1).
  • Het deel cuda12.1 geeft de compatibele CUDA-versie (12.1) aan.

Door deze methoden te gebruiken, kunt u ervoor zorgen dat uw CUDA-omgeving correct is geconfigureerd.

4. Hoe om te gaan met meerdere geïnstalleerde CUDA-versies

In een Ubuntu-omgeving kunnen meerdere CUDA-versies worden geïnstalleerd. Dit kan echter soms leiden tot verwarring over welke versie momenteel actief is.
In dergelijke gevallen moet u overschakelen naar de juiste versie.

Methode 1: Overschakelen met update-alternatives

Op Ubuntu kunt u update-alternatives gebruiken om CUDA-versies te wisselen.

Huidige Instellingen Controleren

update-alternatives --query cuda

CUDA-Versie Overschakelen

sudo update-alternatives --config cuda

Voorbeeldoutput

There are 3 choices for the alternative cuda (providing /usr/local/cuda).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/local/cuda-11.8  100       auto mode
  1            /usr/local/cuda-10.2  50        manual mode
  2            /usr/local/cuda-11.8  100       manual mode
  3            /usr/local/cuda-12.1  110       manual mode

Press <enter> to keep the current choice[*], or type selection number:

Belangrijke Punten

  • Het uitvoeren van update-alternatives --config cuda toont een lijst van beschikbare CUDA-versies.
  • U kunt de gewenste CUDA-versie selecteren door het bijbehorende nummer in te voeren.
  • auto mode en manual mode zijn beschikbaar; kies manual mode als u versies handmatig wilt wisselen.

Methode 2: Handmatig een Symbolische Koppeling Instellen

U kunt ook CUDA-versies wisselen door de symbolische koppeling te wijzigen.

Bestaande Symbolische Koppeling Controleren

ls -l /usr/local/cuda

Voorbeeldoutput

lrwxrwxrwx 1 root root 20 Feb  1 12:34 /usr/local/cuda -> /usr/local/cuda-11.8

CUDA-Versie Wijzigen

sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-12.1 /usr/local/cuda

Wijziging Verifiëren

ls -l /usr/local/cuda

Belangrijke Punten

  • /usr/local/cuda dient als het standaard CUDA-pad. Het wijzigen van deze koppeling wisselt de CUDA-versie.
  • Door het ln -s-commando te gebruiken, kunt u eenvoudig de CUDA-versie wijzigen zonder systeembrede configuraties te wijzigen.

Met deze methoden kunt u meerdere CUDA-versies efficiënt beheren en ervoor zorgen dat u de juiste versie gebruikt voor uw behoeften.

5. Veelgestelde Vragen (FAQ)

Hier zijn enkele veelvoorkomende vragen met betrekking tot het controleren van de CUDA-versie. Als u problemen tegenkomt, raadpleeg dan deze oplossingen.

V1: nvcc -V Opdracht Niet Gevonden!

Als de nvcc-opdracht niet wordt gevonden, is CUDA mogelijk niet correct geïnstalleerd, of is het pad niet ingesteld.

Oplossing 1: Controleren Of CUDA Is Geïnstalleerd

ls /usr/local/cuda/

Oplossing 2: nvcc Toevoegen aan het Pad

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Nadat u deze opdrachten hebt uitgevoerd, probeer dan nvcc -V opnieuw uit te voeren om te controleren of de versie correct wordt weergegeven.

V2: Waarom Is de CUDA-Versie Weergegeven door nvidia-smi Anders?

De CUDA-versie die door nvidia-smi wordt weergegeven, vertegenwoordigt de maximale CUDA-versie ondersteund door de NVIDIA-driver, niet noodzakelijkerwijs de geïnstalleerde CUDA-toolkitversie.

Hoe te Controleren:

nvidia-smi

Voorbeeldoutput:

CUDA Version: 12.1

Om de daadwerkelijk geïnstalleerde CUDA-versie te controleren, gebruik nvcc -V of controleer het version.txt-bestand.

V3: Hoe CUDA- en cuDNN-Compatibiliteit Controleren?

De beste manier om de compatibiliteit tussen CUDA en cuDNN te controleren is door te verwijzen naar de officiële ondersteuningsmatrix van NVIDIA.

Officiële Documentatie:

NVIDIA cuDNN Support Matrix

Daarnaast kun je de geïnstalleerde versies controleren met de volgende commando’s:

Controleer CUDA‑versie

nvcc -V

Controleer cuDNN‑versie

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

Door je omgeving correct te beheren, kun je compatibiliteitsproblemen tussen CUDA en cuDNN voorkomen.

6. Samenvatting

In dit artikel hebben we uitgelegd hoe je de CUDA‑versie kunt controleren in een Ubuntu‑omgeving.
Laten we de belangrijkste punten doornemen.

Manieren om de CUDA‑versie te controleren

MethodCommandDescription
nvidia-sminvidia-smiShows the CUDA version supported by the NVIDIA driver
nvcc -Vnvcc -VShows the actual installed CUDA toolkit version
version.txtcat /usr/local/cuda/version.txtManually check the CUDA version

Manieren om de cuDNN‑versie te controleren

MethodCommandDescription
cudnn_version.hcat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2Check the version from the header file
dpkg Commanddpkg -l | grep libcudnnCheck the installed cuDNN version

Hoe je CUDA‑versies kunt wisselen

MethodCommandDescription
update-alternativessudo update-alternatives --config cudaSwitch between multiple CUDA versions
Symbolic Linksudo ln -s /usr/local/cuda-XX.X /usr/local/cudaManually change the CUDA version

Belangrijkste conclusies

  • Het is belangrijk om de CUDA‑versie correct te identificeren
  • Zorg voor compatibiliteit tussen CUDA en cuDNN
  • Als je meerdere CUDA‑versies gebruikt, begrijp dan hoe je tussen hen kunt schakelen

Door je omgeving goed te beheren, kun je de voordelen van CUDA maximaliseren.
We hopen dat dit artikel je helpt de CUDA‑versie te controleren in je Ubuntu‑omgeving.

Gerelateerde artikelen

侍エンジニア塾