Jak zjistit verzi CUDA v Ubuntu (včetně průvodce kompatibility cuDNN)

目次

1. Úvod

CUDA (Compute Unified Device Architecture) je paralelní výpočetní platforma vyvinutá společností NVIDIA, která využívá GPU. Je široce používána pro strojové učení, hluboké učení, 3D renderování a mnoho dalších výpočetních úloh.

Při používání CUDA v prostředí Ubuntu je důležité zkontrolovat verzi CUDA z následujících důvodů:

Kompatibilita ovladače

CUDA podporuje pouze konkrétní verze ovladačů NVIDIA a nekompatibilita může zabránit správnému fungování CUDA.

Kompatibilita knihoven

Knihovny jako TensorFlow a PyTorch vyžadují konkrétní verze CUDA a cuDNN, takže je nezbytné ověřit, že jsou nainstalovány správné verze.

Předejití konfliktům v prostředí

Pokud je v systému nainstalováno více verzí CUDA, musíte vědět, která verze je aktuálně aktivní, a podle potřeby mezi nimi přepínat.

Tento průvodce jasně vysvětluje jak zkontrolovat verzi CUDA v Ubuntu.

2. Jak zkontrolovat verzi CUDA v Ubuntu

V Ubuntu můžete verzi CUDA zkontrolovat pomocí následujících metod.

Metoda 1: Kontrola pomocí nvidia-smi (Nejjednodušší metoda)

Ovladač NVIDIA obsahuje nástroj nazvaný nvidia-smi (NVIDIA System Management Interface), který zobrazuje informace o GPU.

Příkaz

nvidia-smi

Příklad výstupu

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

Klíčové body

  • Řádek CUDA Version: 12.1 ukazuje maximální verzi CUDA podporovanou ovladačem.
  • To se může lišit od skutečné nainstalované verze CUDA Toolkit, proto zkontrolujte i následující metody.

Metoda 2: Kontrola pomocí nvcc -V (Pro vývojáře)

Pokud je CUDA správně nainstalována, můžete zkontrolovat verzi nvcc, kompilátoru CUDA.

Příkaz

nvcc -V

Příklad výstupu

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

Klíčové body

  • release 12.1, V12.1.105 → Toto označuje nainstalovanou verzi CUDA Toolkit.
  • Může se lišit od verze zobrazené pomocí nvidia-smi.

Metoda 3: Kontrola souboru version.txt (Manuální kontrola)

Pokud je CUDA nainstalována v /usr/local/cuda, soubor version.txt obsahuje informace o verzi.

Příkaz

cat /usr/local/cuda/version.txt

Příklad výstupu

CUDA Version 12.1.105

Klíčové body

  • Užitečné, když nvcc -V není k dispozici.
  • Musíte zajistit, že /usr/local/cuda je správně symbolicky propojen.

3. Jak zkontrolovat verzi cuDNN

cuDNN (CUDA Deep Neural Network) je knihovna pro hluboké učení používaná s CUDA. Je důležité zkontrolovat verzi cuDNN spolu s CUDA.

Metoda 1: Kontrola souboru cudnn_version.h

Verze cuDNN je uložena v hlavičkovém souboru cudnn_version.h.

Příkaz

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

Příklad výstupu

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

Klíčové body

  • Ukazuje, že je nainstalována cuDNN 8.9.1.
  • Příkaz grep pomáhá snadno získat informace o verzi.
  • cuDNN a CUDA musí být kompatibilní; ověřte správné spárování.

Metoda 2: Kontrola pomocí dpkg (Pouze pro Debian‑based Linux)

Na systémech založených na Debianu, jako je Ubuntu, můžete zkontrolovat nainstalované balíčky cuDNN pomocí dpkg.

Příkaz

dpkg -l | grep libcudnn

Příklad výstupu

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

Klíčové body

  • Verze cuDNN (8.9.1) je uvedena v názvu balíčku.
  • cuda12.1 označuje kompatibilní verzi CUDA.

Použijte tyto metody k zajištění, že je vaše prostředí CUDA správně nakonfigurováno.

4. Jak zacházet s více nainstalovanými verzemi CUDA

V Ubuntu je možné nainstalovat více verzí CUDA. To však může způsobit zmatek ohledně toho, která verze je aktuálně aktivní. V takových případech musíte přepnout na správnou verzi ručně.

Metoda 1: Přepínání verzí pomocí update-alternatives

Ubuntu vám umožňuje přepínat mezi verzemi CUDA pomocí nástroje update-alternatives.

Zkontrolujte aktuální nastavení

update-alternatives --query cuda

Přepněte verze

sudo update-alternatives --config cuda

Příklad výstupu

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:

Klíčové body

  • Spuštěním update-alternatives --config cuda se zobrazí všechny dostupné verze CUDA.
  • Verzi, kterou chcete použít, můžete vybrat zadáním odpovídajícího čísla.
  • Jsou k dispozici auto mode a manual mode; pro ruční přepínání zvolte manual mode.

Metoda 2: Ruční konfigurace symbolických odkazů

Můžete také aktivovat konkrétní verzi CUDA ruční úpravou symbolických odkazů.

Zkontrolujte existující symbolický odkaz

ls -l /usr/local/cuda

Příklad výstupu

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

Změna verze CUDA

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

Ověření

ls -l /usr/local/cuda

Klíčové body

  • /usr/local/cuda se používá jako výchozí cesta CUDA, takže aktualizací tohoto odkazu přepnete aktivní verzi.
  • Použití ln -s usnadňuje přepínání mezi verzemi.

Pomocí těchto metod můžete spravovat více instalací CUDA a zajistit, že je aktivní správná verze.

5. Často kladené otázky (FAQ)

Tato sekce shrnuje běžné problémy související s kontrolou verzí CUDA. Použijte ji při odstraňování potíží.

Q1: nvcc -V nebyl nalezen!

Pokud chybí příkaz nvcc, může být nenastavena cesta k CUDA.

Řešení 1: Zkontrolujte, zda je CUDA nainstalována

ls /usr/local/cuda/

Řešení 2: Přidejte nvcc do PATH

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

Po tomto spusťte znovu nvcc -V, abyste potvrdili, že funguje.

Q2: Proč se verze CUDA zobrazená pomocí nvidia-smi liší?

Verze CUDA zobrazovaná pomocí nvidia-smi představuje maximální verzi CUDA podporovanou ovladačem NVIDIA.

Příklad kontroly:

nvidia-smi

Příklad výstupu:

CUDA Version: 12.1

Toto však neukazuje nainstalovanou verzi CUDA Toolkit. Pro ověření skutečně nainstalované verze použijte nvcc -V nebo version.txt.

Q3: Jak zkontrolovat kompatibilitu CUDA a cuDNN?

Nejpřesnější způsob je odkazovat na oficiální podporovací matici NVIDIA.

Oficiální stránka:

NVIDIA cuDNN Support Matrix

Měli byste také potvrdit kompatibilitu kontrolou nainstalovaných verzí:

Zkontrolujte verzi CUDA

nvcc -V

Zkontrolujte verzi cuDNN

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

Správnou správou těchto verzí můžete předejít problémům souvisejícím s CUDA a cuDNN.

6. Shrnutí

Tento článek vysvětlil, jak zkontrolovat verzi CUDA v prostředí Ubuntu. Projděme si klíčové body.

Jak zkontrolovat verze CUDA

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

Jak zkontrolovat cuDNN

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

Jak přepínat verze CUDA

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

Hlavní poznatky

  • Vždy ověřte svou verzi CUDA před vývojem
  • Zkontrolujte kompatibilitu mezi CUDA a cuDNN
  • Pochopte, jak přepínat verze, když existuje více instalací CUDA

Správným řízením vašeho prostředí můžete maximalizovat výkon a stabilitu CUDA.
Doufáme, že vám tento průvodce pomůže efektivně ověřit verze CUDA na Ubuntu.