تهيئة بيئات الذكاء الاصطناعي: تثبيت تعريفات NVIDIA CUDA أو AMD ROCm على لينكس


تهيئة بيئات الذكاء الاصطناعي: تثبيت تعريفات NVIDIA CUDA أو AMD ROCm على لينكس

تهيئة بيئات الذكاء الاصناعي: تثبيت تعريفات NVIDIA CUDA أو AMD ROCm على لينكس

أهلاً يا شباب! بصفتي مهندس أنظمة لينكس، بعطيكم الزبدة في موضوع حيوي جداً للي شغالين أو حابين يدخلوا عالم الذكاء الاصطناعي: كيف تركب تعريفات كروت الشاشة القوية زي NVIDIA CUDA أو AMD ROCm على جهازك اللي شغال بنظام لينكس. الموضوع يبدو معقد لكن لو مشيتوا على الخطوات صح، بيكون سهل.

لماذا نحتاج CUDA/ROCm؟

ليش نحتاج هالتعريفات؟ باختصار، عشان برامج الذكاء الاصطناعي والتعلم العميق (Deep Learning) تقدر تستفيد من قوة معالجة كرت الشاشة (GPU) بدل المعالج المركزي (CPU). CUDA من NVIDIA و ROCm من AMD هي الواجهات البرمجية (APIs) اللي تخلي هالشي ممكن.

الجزء الأول: تثبيت تعريفات NVIDIA CUDA

قبل ما نبدأ، تأكد إن عندك كرت شاشة NVIDIA مدعوم (عادةً من فئة GeForce RTX/GTX أو Quadro). وتأكد إنك شغال على توزيعة لينكس مدعومة (أوبونتو، دبيان، فيدورا، CentOS...).

ملاحظة: تثبيت تعريفات NVIDIA ممكن يكون حساس شوي. اتبع الخطوات بدقة عشان تتجنب مشاكل الشاشة السوداء أو عدم الإقلاع.

1.1 المتطلبات الأساسية

  • تأكد من وجود رأسيات النواة (Kernel Headers): هذي ضرورية عشان التعريفات تقدر تتواصل مع نواة لينكس.
  • (لأوبونتو/دبيان)

    sudo apt update
    sudo apt install linux-headers-$(uname -r)

    (لفيدورا/CentOS/RHEL)

    sudo dnf install kernel-headers kernel-devel
  • إزالة التعريفات القديمة (إذا وجدت):
  • (لأوبونتو/دبيان)

    sudo apt-get purge 'nvidia*'
    sudo apt autoremove

    (لفيدورا/CentOS/RHEL)

    sudo dnf remove 'nvidia*'

1.2 تثبيت تعريفات NVIDIA (الطريقة الموصى بها عبر مستودعات التوزيعة)

هذي أسهل وأأمن طريقة عادةً.

  • لأوبونتو/دبيان (إضافة PPA أو استخدام المستودعات الرسمية):
  • sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt update
    sudo apt install nvidia-driver-535 # أو أي إصدار أحدث موصى به
    sudo reboot
  • لفيدورا/CentOS/RHEL (إضافة مستودع RPM Fusion):
  • sudo dnf install \
      https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
      https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
    sudo dnf update
    sudo dnf install akmod-nvidia # هذا يثبت أحدث تعريف
    sudo dnf install xorg-x11-drv-nvidia-cuda # لبعض أدوات CUDA
    sudo reboot

بعد إعادة التشغيل، تأكد إن التعريفات شغالة بـ nvidia-smi.

nvidia-smi

إذا شفت معلومات كرت الشاشة، مبروك، التعريفات راكبة صح.

1.3 تثبيت حزمة أدوات CUDA (CUDA Toolkit)

بعد تثبيت التعريفات، نحتاج حزمة CUDA Toolkit نفسها. اذهب لموقع NVIDIA CUDA Downloads واختار توزيعتك وإصدارك.

ملاحظة مهمة: تأكد إن إصدار CUDA Toolkit اللي بتنزله متوافق مع إصدار تعريفات NVIDIA اللي ثبتها. الموقع بيعطيك التوافقية.

  • مثال لأوبونتو (ملف .deb):
  • wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
    sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
    wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda-repo-ubuntu2204-12-2-local_12.2.2-1_amd64.deb
    sudo dpkg -i cuda-repo-ubuntu2204-12-2-local_12.2.2-1_amd64.deb
    sudo cp /var/cuda-repo-ubuntu2204-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/
    sudo apt update
    sudo apt -y install cuda-toolkit-12-2

    (هذا مثال لإصدار معين، غيّر الروابط والأوامر بناءً على الإصدار اللي اخترته من موقع NVIDIA).

  • تعديل متغيرات البيئة (Environment Variables):
  • أضف الأسطر التالية لملف ~/.bashrc أو ~/.zshrc:

    export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

    بعد التعديل، طبق التغييرات: source ~/.bashrc (أو ~/.zshrc).

1.4 التحقق

تأكد إن CUDA شغالة صح:

nvcc --version

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

الجزء الثاني: تثبيت تعريفات AMD ROCm

إذا عندك كرت شاشة AMD، ROCm هو البديل لـ CUDA. تأكد إن عندك كرت AMD مدعوم (عادةً من فئة Radeon Instinct أو بعض كروت Radeon Pro/RX الحديثة).

ملاحظة: دعم ROCm لكروت الشاشة المنزلية (مثل Radeon RX) يتطور باستمرار، تحقق من قائمة الأجهزة المدعومة على موقع AMD ROCm.

2.1 المتطلبات الأساسية

  • تأكد من وجود رأسيات النواة (Kernel Headers):
  • sudo apt update
    sudo apt install linux-headers-$(uname -r)

    (لأوبونتو/دبيان)

2.2 إعداد المستودعات

نحتاج نضيف مستودع AMD ROCm. هذا مثال لأوبونتو 22.04 (Jammy Jellyfish):

wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add -
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/5.7/ jammy main' | sudo tee /etc/apt/sources.list.d/rocm.list
echo 'deb [arch=amd64] https://repo.radeon.com/amdgpu/5.7/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list.d/amdgpu.list
sudo apt update

(غيّر 5.7 و jammy بناءً على إصدار ROCm وتوزيعتك).

2.3 تثبيت ROCm

  • تثبيت حزمة ROCm الأساسية:
  • sudo apt install rocm-hip-sdk rocm-opencl-sdk

    هذي الحزم بتثبت المكونات الأساسية للبرمجة باستخدام HIP (واجهة AMD لـ CUDA) و OpenCL.

  • تثبيت تعريفات AMDGPU:
  • عادةً التعريفات الأساسية تكون مدمجة في النواة، لكن ROCm قد يحتاج حزم إضافية:

    sudo apt install amdgpu-dkms

    إذا كنت تحتاج دعم لوحدات معالجة الرسومات الاحترافية (Pro GPUs) أو ميزات خاصة، ممكن تحتاج حزم مثل amdgpu-pro لكنها عادةً ليست ضرورية للـ AI.

2.4 خطوات ما بعد التثبيت

  • إضافة المستخدم لمجموعة render و video:
  • عشان المستخدم يقدر يوصل لـ GPU بدون صلاحيات الروت:

    sudo usermod -a -G render,video $LOGNAME
    sudo reboot
  • تعديل متغيرات البيئة (Environment Variables):
  • أضف الأسطر التالية لملف ~/.bashrc أو ~/.zshrc:

    export PATH=/opt/rocm-5.7.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/opt/rocm-5.7.1/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

    (غيّر rocm-5.7.1 بالإصدار الفعلي المثبت).

    بعد التعديل، طبق التغييرات: source ~/.bashrc (أو ~/.zshrc).

2.5 التحقق

تأكد إن ROCm شغالة صح:

rocminfo

و

/opt/rocm/bin/hipinfo

إذا شفت معلومات عن كرت الشاشة وإصدار ROCm، فالتثبيت ناجح.

مشاكل شائعة وحلولها

  • الشاشة السوداء بعد تثبيت NVIDIA: غالباً بسبب تعارض مع تعريفات Nouveau المفتوحة المصدر. تأكد إنك سويتلها قائمة سوداء (blacklist) قبل التثبيت أو إن التعريف الجديد حل المشكلة. أحياناً تحتاج تدخل وضع الاستعادة (recovery mode) وتحذف التعريفات يدوياً.
  • nvidia-smi لا يعمل: تأكد إن التعريفات راكبة صح وإن الكيرنل موديل nvidia تم تحميله: lsmod | grep nvidia.
  • CUDA/ROCm لا يتعرف على GPU: تأكد من توافقية إصدار التعريفات مع إصدار CUDA/ROCm Toolkit، ومن أنك أضفت متغيرات البيئة بشكل صحيح.
  • أذونات (Permissions) ROCm: تأكد من إضافة المستخدم لمجموعات render و video.

نصيحة ذهبية: دائماً اقرأ الوثائق الرسمية من NVIDIA أو AMD لإصدارك المحدد وتوزيعة لينكس اللي تستخدمها. هي المصدر الأكيد للمعلومات.

الخلاصة

وبس يا جماعة الخير! هذي هي الخطوات الأساسية لتجهيز بيئة الذكاء الاصطناعي على لينكس سواء كنت تستخدم NVIDIA أو AMD. الموضوع يبدو تقني لكن بالصبر واتباع الخطوات، بتصير خبير. بالتوفيق في مشاريعكم!