Jinsi ya Kuangalia Toleo la CUDA kwenye Ubuntu [Mwongozo Rahisi wa Amri]

目次

1. Utangulizi

CUDA (Compute Unified Device Architecture) ni jukwaa la hesabu sambamba lililobuniwa na NVIDIA linalotumia GPU. Inatumika sana kwa ujifunzaji wa mashine, ujifunzaji wa kina, uchoraji wa 3D, na kazi nyingine nyingi za kihesabu.

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

Ulinganifu wa Dereva

CUDA inahitaji toleo maalum la dereva ya NVIDIA ili ifanye kazi ipasavyo. Ikiwa matoleo hayalingani, CUDA inaweza kutofanya kazi vizuri.

Ulinganifu wa Maktaba

Maktaba kama TensorFlow na PyTorch zinahitaji matoleo maalum ya CUDA na cuDNN. Ni muhimu kuhakikisha umeweka toleo sahihi.

Kuepuka Mchanganyiko wa Mfumo

Ikiwa matoleo mengi ya CUDA yamewekwa kwenye mfumo, ni lazima utambue toleo linalotumika na ubadilishe kati ya matoleo inapohitajika.

Katika makala hii, tutatoa maelezo wazi ya jinsi ya kuangalia toleo la CUDA kwenye Ubuntu.

2. Jinsi ya Kuangalia Toleo la CUDA kwenye Ubuntu

Katika mazingira ya Ubuntu, unaweza kuangalia toleo la CUDA kwa njia zifuatazo:

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

Dereva ya NVIDIA ina chombo kinachoitwa nvidia-smi (NVIDIA System Management Interface) kinachokuruhusu kuangalia hali ya GPU yako.

Amri ya Kutekeleza

nvidia-smi

Mfano wa Matokeo

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

Vidokezo Muhimu

  • CUDA Version: 12.1 iliyoonyeshwa hapa inawakilisha toleo la juu la CUDA linaloungwa mkono na dereva ya NVIDIA.
  • Hii si kila wakati italingana na toleo la zana ya CUDA lililowekwa, hivyo inashauriwa kuangalia kwa njia nyingine.

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

Ikiwa CUDA imewekwa vizuri, unaweza kuangalia toleo la nvcc (mkombora wa CUDA).

Amri ya Kutekeleza

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

  • Sehemu inayosema release 12.1, V12.1.105 inaonyesha toleo la zana ya CUDA lililowekwa.
  • Hii inaweza kutofautiana na toleo lililoonyeshwa na nvidia-smi, hivyo kuwa mwangalifu.

Njia ya 3: Angalia Faili la version.txt (Uthibitisho wa Mikono)

Ikiwa CUDA imewekwa katika /usr/local/cuda, taarifa ya toleo imehifadhiwa katika faili la version.txt.

Amri ya Kutekeleza

cat /usr/local/cuda/version.txt

Mfano wa Matokeo

CUDA Version 12.1.105

Vidokezo Muhimu

  • Njia hii ni muhimu ikiwa amri ya nvcc -V haipatikani.
  • Hakikisha kwamba /usr/local/cuda imeunganishwa kwa usahihi na toleo la CUDA linalotakiwa.

3. Jinsi ya Kuangalia Toleo la cuDNN

cuDNN (CUDA Deep Neural Network) ni maktaba iliyoundwa kwa ajili ya ujifunzaji wa kina na hutumika pamoja na CUDA.
Pamoja na kuangalia toleo la CUDA, ni muhimu pia kuthibitisha toleo la cuDNN.

Njia ya 1: Angalia Faili la cudnn_version.h

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

Amri ya Kutekeleza

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

  • Matokeo haya yanathibitisha kwamba cuDNN 8.9.1 imewekwa.
  • Kutumia amri ya grep kunakuwezesha kupata taarifa ya toleo la cuDNN kwa urahisi.
  • Kwa kuwa cuDNN lazima iwe na ulinganifu na CUDA, ni muhimu kuthibitisha muunganiko sahihi wa matoleo.

Njia ya 2: Angalia kwa amri ya dpkg (Kwa Linux inayotegemea Debian)

Katika Ubuntu na usambazaji mwingine wa Linux unaotegemea Debian, unaweza kuangalia toleo la cuDNN lililowekwa kwa kutumia amri ya dpkg.

Amri ya Utekelezaji

dpkg -l | grep libcudnn

Matokeo ya Mfano

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

Vidokezo Muhimu

  • Sehemu ya libcudnn8 8.9.1-1+cuda12.1 inathibitisha toleo la cuDNN (8.9.1) lililowekwa.
  • Sehemu ya cuda12.1 inaonyesha toleo la CUDA linalolingana (12.1).

Kwa kutumia mbinu hizi, unaweza kuhakikisha kuwa mazingira yako ya CUDA yamepangwa ipasavyo.

4. Jinsi ya Kushughulikia Matoleo Kadhaa ya CUDA Yaliyosakinishwa

Katika mazingira ya Ubuntu, matoleo kadhaa ya CUDA yanaweza kusakinishwa. Hata hivyo, hii inaweza kusababisha mkanganyiko kuhusu toleo lililo hai kwa sasa.
Katika hali kama hizi, unahitaji kubadili hadi toleo sahihi.

Njia ya 1: Badilisha kwa Kutumia update-alternatives

Kwenye Ubuntu, unaweza kutumia update-alternatives kubadili matoleo ya CUDA.

Angalia Mipangilio ya Sasa

update-alternatives --query cuda

Badilisha Toleo la CUDA

sudo update-alternatives --config cuda

Matokeo ya Mfano

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:

Vidokezo Muhimu

  • Kutumia update-alternatives --config cuda kutaonyesha orodha ya matoleo ya CUDA yanayopatikana.
  • Unaweza kuchagua toleo la CUDA unalotaka kwa kuingiza nambari husika.
  • auto mode na manual mode zinapatikana; chagua manual mode ikiwa unataka kubadili matoleo kwa mikono.

Njia ya 2: Weka Kiungo cha Alama kwa Mikono

Unaweza pia kubadili matoleo ya CUDA kwa kubadilisha kiungo cha alama.

Angalia Kiungo cha Alama Kilichopo

ls -l /usr/local/cuda

Matokeo ya Mfano

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 Mabadiliko

ls -l /usr/local/cuda

Vidokezo Muhimu

  • /usr/local/cuda hutumika kama njia chaguo-msingi ya CUDA. Kubadilisha kiungo hiki hubadilisha toleo la CUDA.
  • Kwa kutumia amri ya ln -s, unaweza kubadilisha toleo la CUDA kwa urahisi bila kubadilisha usanidi wa mfumo mzima.

Kwa kutumia mbinu hizi, unaweza kusimamia kwa ufanisi matoleo kadhaa ya CUDA na kuhakikisha unatumia toleo sahihi kulingana na mahitaji yako.

5. Maswali Yanayoulizwa Mara kwa Mara (FAQ)

Hapa kuna baadhi ya maswali ya kawaida yanayohusiana na kuangalia toleo la CUDA. Ikiwa utakutana na matatizo, rejea suluhisho hizi.

Swali 1: Amri ya nvcc -V Haipatikani!

Kama amri ya nvcc haipatikani, CUDA huenda haijasakinishwa vizuri, au njia yake haijawekwa.

Suluhisho 1: Angalia Ikiwa CUDA Imewekwa

ls /usr/local/cuda/

Suluhisho 2: Ongeza nvcc kwenye Njia

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

Baada ya kuendesha amri hizi, jaribu tena kutekeleza nvcc -V ili kuona kama toleo linaonyeshwa kwa usahihi.

Swali 2: Kwa Nini Toleo la CUDA Linaonyeshwa na nvidia-smi Linatofautiana?

Toleo la CUDA linaloonyeshwa na nvidia-smi linaashiria toleo la juu zaidi la CUDA linaloungwa mkono na dereva ya NVIDIA, si lazima liwe toleo la zana ya CUDA lililowekwa.

Jinsi ya Kuangalia:

nvidia-smi

Matokeo ya Mfano:

CUDA Version: 12.1

Ili kuangalia toleo halisi lililowekwa la CUDA, tumia nvcc -V au angalia faili la version.txt.

Swali 3: Jinsi ya Kuangalia Ulinganifu kati ya CUDA na cuDNN?

Njia bora ya kuangalia ulinganifu kati ya CUDA na cuDNN ni kurejelea jedwali la usaidizi rasmi la NVIDIA.

Nyaraka Rasmi:

NVIDIA cuDNN Support Matrix

Zaidi ya hayo, unaweza kuangalia matoleo yaliyosakinishwa kwa kutumia amri zifuatazo:

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 mazingira yako ipasavyo, unaweza kuepuka matatizo ya usawa kati ya CUDA na cuDNN.

6. Muhtasari

Katika makala hii, tumeelezea jinsi ya kuangalia toleo la CUDA katika mazingira ya Ubuntu.
Hebu tupitie pointi kuu.

Njia za Kuangalia Toleo la CUDA

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

Njia za Kuangalia Toleo la cuDNN

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

Jinsi ya Kubadili 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 change the CUDA version

Mambo Muhimu

  • Ni muhimu kutambua toleo la CUDA kwa usahihi
  • Hakikisha usawa kati ya CUDA na cuDNN
  • Kama unatumia matoleo mengi ya CUDA, elewa jinsi ya kubadili kati yao

Kwa kusimamia mazingira yako ipasavyo, unaweza kuongeza faida za CUDA.
Tunatumaini makala hii itakusaidia kuangalia toleo la CUDA katika mazingira yako ya Ubuntu.

Makala Zinahusiana