Jinsi ya Kukagua Toleo la CUDA kwenye Ubuntu (Ikijumuisha Mwongozo wa Ulinganifu wa cuDNN)

目次

1. Utangulizi

CUDA (Compute Unified Device Architecture) ni jukwaa la mahesabu ya sambamba lililobuniwa na NVIDIA ambalo linatumia GPU. Inatumika sana kwa kujifunza kwa mashine, kujifunza kwa kina, uchoraji wa 3D, na kazi nyingi za mahesabu.

Unapotumia CUDA katika mazingira ya Ubuntu, ni muhimu kuangalia toleo lako la CUDA kwa sababu zifuatazo:

Ulinganifu wa Dereva

CUDA inaunga mkono tu matoleo maalum ya dereva za NVIDIA, na kutokulingana kunaweza kuzuia CUDA kufanya kazi ipasavyo.

Ulinganifu wa Maktaba

Maktaba kama TensorFlow na PyTorch zinahitaji matoleo maalum ya CUDA na cuDNN, hivyo ni muhimu kuthibitisha kuwa matoleo sahihi yamewekwa.

Kuepuka Migogoro ya Mazingira

Kama matoleo mengi ya CUDA yamewekwa kwenye mfumo, lazima ujue toleo linalotumika kwa sasa na ubadilishe kati yao inapohitajika.

Mwongozo huu unaelezea wazi jinsi ya kuangalia toleo la CUDA kwenye Ubuntu.

2. Jinsi ya Kuangalia Toleo la CUDA kwenye Ubuntu

Katika Ubuntu, unaweza kuangalia toleo lako la CUDA kwa kutumia mbinu zifuatazo.

Njia ya 1: Angalia kwa nvidia-smi (Njia Rahisi)

Dereva ya NVIDIA inajumuisha chombo kinachoitwa nvidia-smi (NVIDIA System Management Interface) ambacho kinaonyesha taarifa za GPU.

Amri

nvidia-smi

Mfano wa Matokeo

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

Vidokezo Muhimu

  • Mstari wa CUDA Version: 12.1 unaonyesha toleo la juu zaidi la CUDA linaloungwa mkono na dereva.
  • Hii inaweza kutofautiana na toleo halisi lililowekwa la CUDA Toolkit, hivyo angalia mbinu zifuatazo pia.

Njia ya 2: Angalia kwa nvcc -V (Kwa Watengenezaji)

Kama CUDA imewekwa vizuri, unaweza kuangalia toleo la nvcc, mkombora wa CUDA.

Amri

nvcc -V

Mfano wa Matokeo

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

Vidokezo Muhimu

  • release 12.1, V12.1.105 → Hii inaonyesha toleo lililowekwa la CUDA Toolkit.
  • Inaweza isilingane na toleo lililoonyeshwa na nvidia-smi.

Njia ya 3: Angalia version.txt (Ukaguzi wa Mikono)

Kama CUDA imewekwa chini ya /usr/local/cuda, faili version.txt ina taarifa ya toleo.

Amri

cat /usr/local/cuda/version.txt

Mfano wa Matokeo

CUDA Version 12.1.105

Vidokezo Muhimu

  • Inafaa wakati nvcc -V haipatikani.
  • Lazima uhakikishe kuwa /usr/local/cuda imeunganishwa kwa usahihi.

3. Jinsi ya Kuangalia Toleo la cuDNN

cuDNN (CUDA Deep Neural Network) ni maktaba ya kujifunza kwa kina inayotumika pamoja na CUDA.
Ni muhimu kuangalia toleo la cuDNN pamoja na CUDA.

Njia ya 1: Angalia cudnn_version.h

Toleo la cuDNN limehifadhiwa katika faili ya kichwa cudnn_version.h.

Amri

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

Mfano wa Matokeo

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

Vidokezo Muhimu

  • Inaonyesha kuwa cuDNN 8.9.1 imewekwa.
  • Amri ya grep husaidia kutoa taarifa ya toleo kwa urahisi.
  • cuDNN na CUDA lazima ziweze kulingana; thibitisha ulinganifu sahihi.

Njia ya 2: Angalia kwa dpkg (Linux Inayotegemea Debian Pekee)

Katika mifumo inayotegemea Debian kama Ubuntu, unaweza kuangalia vifurushi vilivyowekwa vya cuDNN kwa kutumia dpkg.

Amri

dpkg -l | grep libcudnn

Mfano wa Matokeo

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

Vidokezo Muhimu

  • Toleo la cuDNN (8.9.1) linaonyeshwa katika jina la kifurushi.
  • cuda12.1 inaonyesha toleo la CUDA linalolingana.

Tumia mbinu hizi kuhakikisha mazingira yako ya CUDA yamewekwa kwa usahihi.

4. Jinsi ya Kushughulikia Matoleo Kadhaa ya CUDA Yaliyosakinishwa

Katika Ubuntu, inawezekana kusakinisha matoleo kadhaa ya CUDA. Hata hivyo, hii inaweza kusababisha mkanganyiko kuhusu toleo gani linafanya kazi kwa sasa. Katika hali kama hizi, lazima ubadilishe toleo sahihi kwa mkono.

Njia ya 1: Badilisha Matoleo kwa Kutumia update-alternatives

Ubuntu inakuwezesha kubadilisha kati ya matoleo ya CUDA kwa kutumia zana ya update-alternatives.

Angalia Mipangilio ya Sasa

update-alternatives --query cuda

Badilisha Matoleo

sudo update-alternatives --config cuda

Mfano wa Matokeo

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:

Mambo Muhimu

  • Kuendesha update-alternatives --config cuda inaonyesha matoleo yote ya CUDA yanayopatikana.
  • Unaweza kuchagua toleo la kutumia kwa kuingiza nambari husika.
  • auto mode na manual mode zinapatikana; chagua manual mode kwa ubadilishaji wa mkono.

Njia ya 2: Sanidi Viungo vya Alama kwa Mikono

Unaweza pia kuwezesha toleo maalum la CUDA kwa kurekebisha viungo vya alama kwa mikono.

Angalia Kiungo cha Alama Kilichopo

ls -l /usr/local/cuda

Mfano wa Matokeo

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

Badilisha Toleo la CUDA

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

Thibitisha

ls -l /usr/local/cuda

Mambo Muhimu

  • /usr/local/cuda inatumika kama njia chaguo-msingi ya CUDA, hivyo kusasisha kiungo hiki hubadilisha toleo linalofanya kazi.
  • Kutumia ln -s hufanya ubadilishaji kati ya matoleo kuwa rahisi.

Kwa kutumia njia hizi, unaweza kusimamia usakinishaji wa CUDA kadhaa na kuhakikisha toleo sahihi linafanya kazi.

5. Maswali Yanayoulizwa Mara kwa Mara (FAQ)

Sehemu hii inahitimisha masuala ya kawaida yanayohusiana na kukagua matoleo ya CUDA. Tumia kwa utatuzi wa matatizo.

Q1: nvcc -V haipatikani!

Kama amri ya nvcc haipo, njia ya CUDA huenda haijawekwa.

Suluhisho 1: Angalia kama CUDA imewekwa

ls /usr/local/cuda/

Suluhisho 2: Ongeza nvcc kwenye PATH

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

Baada ya hili, endesha nvcc -V tena ili kuthibitisha inafanya kazi.

Q2: Kwa nini toleo la CUDA linaloonyeshwa na nvidia-smi linatofautiana?

Toleo la CUDA linaloonyeshwa na nvidia-smi linaashiria toleo la juu zaidi la CUDA linaloungwa mkono na dereva ya NVIDIA.

Angalia Mfano:

nvidia-smi

Mfano wa Matokeo:

CUDA Version: 12.1

Hata hivyo, hii haionyeshi toleo la CUDA Toolkit lililowekwa. Tumia nvcc -V au version.txt kuthibitisha toleo halisi lililowekwa.

Q3: Nifanyeje kukagua ulinganifu wa CUDA na cuDNN?

Njia sahihi zaidi ni kurejelea jedwali la usaidizi rasmi la NVIDIA.

Tovuti Rasmi:

NVIDIA cuDNN Support Matrix

Pia unapaswa kuthibitisha ulinganifu kwa kukagua matoleo yaliyosakinishwa:

Angalia Toleo la CUDA

nvcc -V

Angalia Toleo la cuDNN

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

Kwa kusimamia matoleo haya ipasavyo, unaweza kuepuka matatizo yanayohusiana na CUDA na cuDNN.

6. Muhtasari

Makala hii ilielezea jinsi ya kukagua toleo la CUDA katika mazingira ya Ubuntu. Hebu tazama mambo muhimu.

Jinsi ya Kukagua Matoleo ya 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

Jinsi ya Kukagua 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

Jinsi ya Kubadilisha Matoleo ya 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

Mambo Muhimu

  • Daima thibitisha toleo lako la CUDA kabla ya maendeleo
  • Angalia ulinganifu kati ya CUDA na cuDNN
  • Elewa jinsi ya kubadilisha matoleo wakati usakinishaji wa CUDA mwingi upo

Kwa kusimamia mazingira yako ipasavyo, unaweza kuongeza utendaji na uthabiti wa CUDA.
Tunatumaini mwongozo huu utakusaidia kuthibitisha matoleo ya CUDA kwa ufanisi kwenye Ubuntu.