تهيئة بيئات الذكاء الاصناعي: تثبيت تعريفات 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
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).
أضف الأسطر التالية لملف ~/.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.
عادةً التعريفات الأساسية تكون مدمجة في النواة، لكن 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
أضف الأسطر التالية لملف ~/.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. الموضوع يبدو تقني لكن بالصبر واتباع الخطوات، بتصير خبير. بالتوفيق في مشاريعكم!