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

دقائق القراءة: 6

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

أصبحت تهيئة بيئة العمل الرسومية على لينكس خطوة أساسية لكل من يريد تشغيل نماذج الذكاء الاصطناعي محلياً، سواء للتدريب أو للاستدلال السريع. فالمعالج الرسومي GPU لم يعد مجرد مكوّن مخصص للألعاب أو التصميم، بل صار حجر الأساس في أطر مثل PyTorch وTensorFlow وJAX.

نجاح هذه التهيئة لا يتوقف على تثبيت تعريف فقط، بل يعتمد على التوافق بين النواة Kernel، وإدارة الحزم، وإصدار التعريف، وإصدار مكتبات التسريع. ولهذا السبب فإن الفهم الجيد لخطوات إدارة الحزم البرمجية وتحديث النظام ومتابعة السجلات عبر مراقبة السجلات وتحليل الأخطاء يوفّر عليك كثيراً من الوقت عند استكشاف الأعطال.

لماذا تحتاج إلى CUDA أو ROCm؟

إذا كنت تستخدم بطاقة NVIDIA فغالباً ستعتمد على منظومة CUDA لتسريع العمليات الحسابية. أما بطاقات AMD الحديثة فتستخدم عادة منصة ROCm.

هاتان المنصتان لا تقتصران على التعريف الرسومي فقط، بل تقدمان مكتبات تنفيذ موازٍ، وأدوات تطوير، ومترجمات، وواجهات تشغيل تحتاجها تطبيقات الذكاء الاصطناعي للوصول المباشر إلى قدرات البطاقة. لذلك فإن تثبيت التعريف وحده قد يسمح بعرض الصورة، لكنه لا يكفي لتشغيل أعباء Machine Learning.

التحقق من العتاد والنظام قبل التثبيت

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

lspci | grep -Ei "vga|3d|display"
uname -r
cat /etc/os-release

إذا لم تكن معتاداً على قراءة مخرجات هذه الأوامر، فمقال الدخول الأول إلى الطرفية يساعدك على فهم التنفيذ، بينما يشرح مقال البحث المتقدم في النظام باستخدام (find, locate, grep) فكرة استخدام grep لتصفية النتائج بسرعة.

لا تثبّت تعريفات الرسوميات أو مكتبات التسريع من مصادر عشوائية أو ملفات قديمة محفوظة لديك. اختلاف بسيط في الإصدار قد يسبب تعارضاً مع النواة الحالية أو مع تعريفات مدمجة موجودة مسبقاً داخل النظام.

تثبيت NVIDIA Driver و CUDA على لينكس

1) تحديث النظام وتجهيز المتطلبات

ابدأ بتحديث قاعدة الحزم وتثبيت أدوات البناء الأساسية ورؤوس النواة. هذه المكونات تُستخدم عند بناء وحدات kernel modules المرتبطة بالتعريف.

sudo apt update
sudo apt upgrade -y
sudo apt install build-essential dkms linux-headers-$(uname -r) -y

في الأنظمة المبنية على RHEL أو Fedora تُستخدم أوامر dnf بدلاً من apt. فهم هذا التباين مشروح بتوسع في مقال إدارة الحزم البرمجية وتحديث النظام.

2) تثبيت تعريف NVIDIA

في توزيعات مثل Ubuntu يفضّل استخدام المستودعات الرسمية أو المقترحة من التوزيعة بدلاً من تنزيل ملف .run مباشرة، لأن ذلك يسهّل التحديثات ويحافظ على التوافق.

ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
sudo reboot

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

nvidia-smi

3) تثبيت CUDA Toolkit

بعد نجاح التعريف، ثبّت حزمة CUDA Toolkit المناسبة لإصدار التعريف ولنظامك. في كثير من الحالات يوفّر مستودع NVIDIA الرسمي الحزمة الأحدث مع توثيق واضح للتوزيعات المدعومة.

sudo apt install nvidia-cuda-toolkit -y
nvcc --version

الأمر nvcc يؤكد أن مترجم CUDA موجود في النظام. أحياناً قد تحتاج إلى إضافة المسارات داخل ملف ~/.bashrc إذا لم تكن مضافة تلقائياً.

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

تثبيت AMD Driver و ROCm على لينكس

1) التأكد من توافق البطاقة

منصة ROCm لا تدعم جميع بطاقات AMD بنفس الدرجة، لذا يجب مراجعة قائمة الدعم الرسمية أولاً. هذا مهم خصوصاً في الحواسيب المحمولة أو البطاقات الاستهلاكية التي قد تعمل جزئياً فقط.

2) تثبيت الحزم الأساسية لـ ROCm

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

sudo apt update
sudo apt install "linux-headers-$(uname -r)" "linux-modules-extra-$(uname -r)" -y
sudo apt install rocm -y

بعد التثبيت، أضف المستخدم إلى المجموعات المطلوبة للوصول إلى العتاد مثل video وrender.

sudo usermod -aG video,render $USER
sudo reboot

إذا أردت فهماً أعمق لمفهوم المجموعات والصلاحيات، راجع إدارة المستخدمين والمجموعات مع إدارة الصلاحيات والملكية.

3) اختبار ROCm بعد الإقلاع

بعد إعادة التشغيل، يمكن التحقق من نجاح التهيئة عبر أدوات الفحص الخاصة بالمنصة. إذا ظهر اسم البطاقة وقدراتها فهذا يعني أن طبقة التسريع أصبحت جاهزة غالباً للأطر البرمجية الداعمة.

rocminfo
clinfo

اختبار البيئة مع أطر الذكاء الاصطناعي

نجاح التعريف لا يعني تلقائياً أن إطار العمل سيتعرف على البطاقة. الأفضل أن تنشئ بيئة منفصلة وتختبرها بأمر بسيط داخل Python.

python3 -c "import torch; print(torch.cuda.is_available())"

في حالة ROCm قد تعتمد النتيجة على النسخة المخصصة من الحزمة. لذلك تأكد دائماً من تثبيت بناء PyTorch أو TensorFlow المتوافق مع المنصة الرسومية المستخدمة.

أكثر المشكلات شيوعاً بعد التثبيت

تعارض إصدارات التعريف والمكتبات

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

عدم تحميل الوحدة داخل النواة

إذا لم يعمل التعريف بعد تحديث النظام، فقد تكون وحدة DKMS فشلت في البناء مع النواة الجديدة. تابع الحالة باستخدام السجلات وراقب مخرجات journalctl.

journalctl -b | grep -Ei "nvidia|amdgpu|rocm|dkms"

هذه المنهجية ترتبط مباشرة بما شرحناه في مراقبة السجلات وتحليل الأخطاء، كما يفيدك أيضاً فهم العمليات ومراقبة استهلاك الموارد عند تتبع البرامج التي تستهلك الذاكرة الرسومية بشكل مفاجئ.

مشكلات مع الإقلاع الآمن

في بعض الأجهزة يمنع Secure Boot تحميل تعريفات خارجية غير موقعة. عندها قد يبدو النظام سليماً لكن التعريف لا يعمل. في هذه الحالة راجع إعدادات UEFI أو استخدم آلية توقيع الوحدات إذا كانت التوزيعة تدعم ذلك.

قبل أي ترقية كبيرة للنواة أو التعريفات، احتفظ بنقطة استرجاع أو بسجل واضح للإصدارات الحالية. في بيئات العمل الحساسة، من الأفضل اختبار التحديث على جهاز منفصل قبل تطبيقه على محطة الإنتاج الأساسية.

أفضل ممارسات للاستقرار والأداء

  • ثبّت الإصدارات من المستودعات الرسمية أو من وثائق الشركة المصنّعة فقط.
  • لا تخلط بين أكثر من طريقة تثبيت للتعريف نفسه داخل الجهاز الواحد.
  • تابع الحرارة واستهلاك الطاقة أثناء التدريب لتجنب الاختناق الحراري.
  • استخدم بيئات معزولة للتجارب البرمجية حتى لا تكسر التوافق العام للنظام.
  • عند العمل داخل الحاويات، ارجع إلى أساسيات الحاويات (Docker) لفهم تمرير الموارد الرسومية بشكل صحيح.

خاتمة

تهيئة بيئة ذكاء اصطناعي على لينكس باستخدام NVIDIA CUDA أو AMD ROCm ليست عملية معقدة بقدر ما هي عملية تتطلب دقة في التوافق والتسلسل. ابدأ دائماً بتحديد العتاد، ثم ثبّت التعريف المناسب، ثم مكتبات التسريع، وبعدها اختبر الإطار البرمجي الذي ستعمل عليه فعلياً.

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

1 comment

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *