كيفية التحقق من إصدار CUDA وcuDNN على Ubuntu خطوة بخطوة للمطورين

目次

1. المقدمة

CUDA (اختصار لـ Compute Unified Device Architecture) هو منصة حوسبة متوازية طورتها NVIDIA وتستخدم مع وحدات معالجة الرسومات (GPU). تُستخدم CUDA على نطاق واسع في تطبيقات مثل التعلم الآلي، التعلم العميق، وتجسيد الرسوم ثلاثية الأبعاد وغيرها من عمليات الحوسبة الكثيفة.

عند استخدام CUDA على نظام Ubuntu، من الضروري التحقق من إصدار CUDA للأسباب التالية:

التوافق مع برنامج التشغيل (Driver)

يعمل CUDA فقط مع إصدارات معينة من برنامج تشغيل NVIDIA، وإذا لم يكن هناك توافق، فقد لا يعمل بشكل صحيح.

توافق المكتبات البرمجية

تتطلب مكتبات مثل TensorFlow وPyTorch إصدارات محددة من CUDA وcuDNN، لذا من المهم التأكد من تثبيت الإصدارات المناسبة.

تجنب تضارب البيئة

في حالة وجود عدة إصدارات من CUDA على النظام، يجب التأكد من أي إصدار مفعل حالياً والتبديل بين الإصدارات عند الحاجة.

في هذا المقال، نشرح كيفية التحقق من إصدار CUDA على Ubuntu بطريقة مبسطة وواضحة.

2. كيفية التحقق من إصدار CUDA على Ubuntu

يمكنك التحقق من إصدار CUDA على Ubuntu بالطرق التالية:

الطريقة 1: استخدام أمر nvidia-smi (الطريقة الأسهل)

يتضمن تعريف برنامج تشغيل NVIDIA أداة nvidia-smi (واجهة إدارة نظام NVIDIA) لمراقبة حالة GPU.

الأمر المستخدم

nvidia-smi

مثال على المخرجات

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

نقاط مهمة

  • جزء CUDA Version: 12.1 يوضح أقصى إصدار CUDA مدعوم من برنامج التشغيل.
  • قد يختلف هذا عن إصدار أدوات CUDA المثبتة فعلياً، لذلك تحقق بالطرق التالية أيضاً.

الطريقة 2: استخدام أمر nvcc -V (للمطورين)

إذا تم تثبيت CUDA بشكل صحيح، يمكنك التحقق من إصدار المُجمع nvcc.

الأمر المستخدم

nvcc -V

مثال على المخرجات

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

نقاط مهمة

  • release 12.1, V12.1.105إصدار أدوات CUDA المثبتة فعليًا.
  • قد يختلف عن الإصدار المعروض في nvidia-smi، لذا كن حذراً.

الطريقة 3: التحقق من version.txt (يدويًا)

إذا تم تثبيت CUDA في /usr/local/cuda، يمكنك العثور على الإصدار في ملف version.txt.

الأمر المستخدم

cat /usr/local/cuda/version.txt

مثال على المخرجات

CUDA Version 12.1.105

نقاط مهمة

  • هذه الطريقة فعالة إذا لم يكن nvcc -V متاحاً.
  • تأكد أن /usr/local/cuda مربوط بشكل صحيح كرمز ارتباط (symlink).

3. كيفية التحقق من إصدار cuDNN

cuDNN (CUDA Deep Neural Network) مكتبة مخصصة للتعلم العميق وتعمل بجانب CUDA. من المهم التحقق من إصدار cuDNN مع إصدار CUDA لضمان التوافق.

الطريقة 1: التحقق من ملف cudnn_version.h

يمكنك معرفة إصدار cuDNN من رأس الملف cudnn_version.h.

الأمر المستخدم

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

مثال على المخرجات

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

نقاط مهمة

  • يدل على أن إصدار cuDNN هو 8.9.1.
  • استخدام أمر grep يجعل من السهل الحصول على رقم الإصدار.
  • تأكد من توافق إصدار cuDNN مع إصدار CUDA.

الطريقة 2: باستخدام أمر dpkg (لأنظمة Linux من نوع Debian فقط)

يمكنك التحقق من إصدار cuDNN المثبت باستخدام dpkg على Ubuntu.

الأمر المستخدم

dpkg -l | grep libcudnn

مثال على المخرجات

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

نقاط مهمة

  • في libcudnn8 8.9.1-1+cuda12.1 يمكنك معرفة إصدار cuDNN (8.9.1).
  • وفي cuda12.1 يمكنك معرفة إصدار CUDA المتوافق (12.1).

استخدم هذه الطرق للتأكد من أن بيئة CUDA لديك معدة بشكل صحيح.

4. التعامل مع وجود عدة إصدارات من CUDA

من الممكن تثبيت عدة إصدارات من CUDA على Ubuntu، مما قد يسبب بعض الالتباس حول الإصدار الفعلي النشط. في هذه الحالة، يجب عليك تبديل الإصدار المستخدم حسب الحاجة.

الطريقة 1: استخدام update-alternatives

يمكنك التبديل بين إصدارات CUDA عبر update-alternatives.

التحقق من الإعداد الحالي

update-alternatives --query cuda

تغيير الإصدار

sudo update-alternatives --config cuda

مثال على المخرجات

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:

نقاط مهمة

  • ستظهر قائمة بالإصدارات المتاحة ويمكنك اختيار الإصدار المناسب.
  • اختر الوضع اليدوي manual mode إذا أردت تبديل الإصدار يدوياً.

الطريقة 2: إعداد الرابط الرمزي يدويًا (symlink)

يمكنك استخدام الروابط الرمزية لاختيار إصدار CUDA النشط.

التحقق من الرابط الحالي

ls -l /usr/local/cuda

مثال على المخرجات

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

تغيير إصدار CUDA

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

التحقق بعد التغيير

ls -l /usr/local/cuda

نقاط مهمة

  • المسار /usr/local/cuda هو المسار الافتراضي لـ CUDA.
  • يمكنك التبديل بسهولة عن طريق تحديث الرابط الرمزي بـ ln -s.

باتباع هذه الطرق، يمكنك إدارة وتبديل عدة إصدارات CUDA بسهولة.

5. الأسئلة الشائعة (FAQ)

جمعنا أهم الأسئلة الشائعة حول التحقق من إصدار CUDA لحل المشاكل الشائعة بسرعة.

س1: أمر nvcc -V غير موجود!

إذا لم يتم العثور على أمر nvcc، قد تكون متغيرات المسار لم تُضف بشكل صحيح.

الحل 1: تحقق من تثبيت CUDA

ls /usr/local/cuda/

الحل 2: إضافة مسار nvcc

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

بعد ذلك جرب تنفيذ nvcc -V مرة أخرى.

س2: لماذا إصدار CUDA المعروض في nvidia-smi مختلف؟

الإصدار المعروض في nvidia-smi هو أقصى إصدار مدعوم من برنامج التشغيل، وليس بالضرورة الإصدار الفعلي المثبت.

طريقة التحقق:

nvidia-smi

مثال:

CUDA Version: 12.1

للتحقق من الإصدار المثبت فعلياً، استخدم nvcc -V أو تحقق من version.txt.

س3: كيف أتحقق من التوافق بين CUDA وcuDNN؟

أفضل طريقة هي الرجوع إلى صفحة دعم التوافق الرسمية لـ NVIDIA cuDNN.

تحقق من الإصدارات المثبتة باستخدام الأوامر التالية:

التحقق من إصدار CUDA

nvcc -V

التحقق من إصدار cuDNN

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

إدارة بيئتك بشكل صحيح تساعدك في تجنب مشاكل التوافق.

6. الخلاصة

شرحنا في هذا المقال بالتفصيل كيفية التحقق من إصدار CUDA على Ubuntu.

طرق التحقق من إصدار CUDA

الطريقةالأمرالميزات
nvidia-sminvidia-smiالتحقق من إصدار CUDA المدعوم من برنامج التشغيل
nvcc -Vnvcc -Vالتحقق من إصدار أدوات CUDA المثبتة
version.txtcat /usr/local/cuda/version.txtالتحقق اليدوي من إصدار CUDA

طرق التحقق من إصدار cuDNN

الطريقةالأمرالميزات
cudnn_version.hcat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2التحقق من الإصدار من ملف الرأس
أمر dpkgdpkg -l | grep libcudnnالتحقق من إصدار cuDNN المثبت

طرق تبديل إصدار CUDA

الطريقةالأمرالميزات
update-alternativessudo update-alternatives --config cudaتبديل بين عدة إصدارات من CUDA
الرابط الرمزيsudo ln -s /usr/local/cuda-XX.X /usr/local/cudaتبديل يدوي لإصدار CUDA

النقاط الأساسية في الملخص

  • من المهم معرفة إصدار CUDA بدقة
  • تحقق من التوافق مع cuDNN واستخدم الإصدارات المتوافقة
  • إذا كنت تستخدم عدة إصدارات، افهم كيفية التبديل بينها

من خلال إدارة البيئة بشكل صحيح، ستتمكن من الاستفادة الكاملة من إمكانيات CUDA.

نتمنى أن يكون هذا المقال قد ساعدك في التحقق من إصدار CUDA على Ubuntu.

مقالات ذات صلة

مقالات

1. مقدمة تُعدّ CUDA (Compute Unified Device Architecture) منصة حوسبة متوازية وواجهة برمجة تطبيقات (API) توفرها NVIDIA، […]

مقالات

كيفية تثبيت برنامج تشغيل Nvidia على Ubuntu 1. المقدمة: لماذا تحتاج إلى برنامج تشغيل Nvidia على Ubuntu؟ يأتي Ubunt[…]

مقالات

1. مقدمة عند استخدام وحدة معالجة الرسوميات (GPU) في Ubuntu، من المهم جدًا التحقق من حالتها بدقة. خاصةً عند العمل في مجا[…]

侍エンジニア塾