تعزيز أداء GPU في Ubuntu: دليلك الشامل لـ nvidia-smi وTensorFlow

1. مقدمة

عند استخدام وحدة معالجة الرسوميات (GPU) في Ubuntu، من المهم جدًا التحقق من حالتها بدقة. خاصةً عند العمل في مجالات مثل التعلم العميق وتصيير الرسومات، فإن فهم استخدام وحدة معالجة الرسوميات وإصدار برنامج التشغيل أمر بالغ الأهمية. ستشرح هذه المقالة كيفية استخدام nvidia-smi، وهي أداة إدارة لوحدات معالجة الرسوميات من NVIDIA، وستقدم طرقًا للتحقق من وحدة معالجة الرسوميات على Ubuntu.

侍エンジニア塾

2. التحقق من معلومات وحدة معالجة الرسوميات باستخدام nvidia-smi

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

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

يمكنك التحقق من استخدام وحدة معالجة الرسوميات واستخدام الذاكرة في الوقت الفعلي باستخدام الأمر التالي:

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1

يقوم هذا الأمر باسترداد معلومات مفصلة بما في ذلك استخدام وحدة معالجة الرسوميات، واستخدام الذاكرة، وكمية الذاكرة المتاحة. يمكن أيضًا تحديد الفاصل الزمني للتحديث بالثواني باستخدام الخيار -l.

تنسيق العرض وإخراج الملف

بشكل افتراضي، يتم عرض المعلومات بتنسيق جدول، ولكن يمكن أيضًا إخراجها بتنسيق CSV لسهولة المعالجة. إذا كنت ترغب في تسجيل المعلومات في ملف، يمكنك تحديد مسار ملف الإخراج باستخدام الخيار -f.

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /path/to/output.csv

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

3. الحصول على معلومات العملية باستخدام nvidia-smi

باستخدام nvidia-smi، يمكنك الحصول على معلومات العملية التي تستخدم وحدة معالجة الرسوميات حاليًا. يتيح لك ذلك التحقق من مدى استخدام كل عملية لموارد وحدة معالجة الرسوميات.

الحصول على معلومات العملية

يمكنك التحقق من PID واستخدام الذاكرة للعمليات التي تستخدم وحدة معالجة الرسوميات باستخدام الأمر التالي:

nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv,noheader

يقوم هذا الأمر بإرجاع قائمة بعمليات وحدة معالجة الرسوميات قيد التشغيل حاليًا ويعرض استخدام الذاكرة لكل عملية.

الأمر الفرعي nvidia-smi pmon

يحتوي nvidia-smi أيضًا على أمر فرعي يسمى pmon، والذي يمكنه الحصول على معلومات مفصلة حول العمليات التي تستخدم وحدة معالجة الرسوميات.

nvidia-smi pmon --delay 10 -s u -o DT

يعرض هذا الأمر معلومات عملية وحدة معالجة الرسوميات على فواصل زمنية محددة، ويحدد الخيار --delay الفاصل الزمني للتحديث بالثواني. يمكن أيضًا تحديد أنواع المعلومات المراد عرضها.

4. تثبيت برنامج تشغيل NVIDIA والتحقق من التشغيل

لاستخدام وحدة معالجة الرسوميات NVIDIA في Ubuntu، تحتاج إلى تثبيت برنامج التشغيل المناسب لـ NVIDIA. فيما يلي خطوات تثبيت برنامج التشغيل والتحقق من تشغيله.

تثبيت برنامج التشغيل

أولاً، قم بتثبيت برنامج تشغيل NVIDIA المناسب لنظامك. يمكنك تثبيت برنامج التشغيل الموصى به باستخدام الأمر التالي:

sudo apt install nvidia-driver-510

بعد اكتمال التثبيت، أعد تشغيل النظام.

التحقق من التثبيت

بعد إعادة التشغيل، تحقق مما إذا كان برنامج التشغيل مثبتًا بشكل صحيح باستخدام الأمر التالي:

nvidia-smi

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

5. التحقق من تشغيل وحدة معالجة الرسوميات باستخدام TensorFlow

للتحقق مما إذا كانت وحدة معالجة الرسوميات تعمل بشكل صحيح، يمكنك اختبارها باستخدام إطار عمل التعلم الآلي TensorFlow.

تثبيت Anaconda

أولاً، قم بتثبيت Anaconda لإعداد البيئة.

bash ./Anaconda3-2022.05-Linux-x86_64.sh
conda update -n base conda
conda update anaconda
conda update -y --all
conda install tensorflow-gpu==2.4.1

التحقق من التشغيل باستخدام TensorFlow

بعد ذلك، تحقق مما إذا كان TensorFlow يتعرف على وحدة معالجة الرسوميات.

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

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

6. مراقبة وحدة معالجة الرسوميات وتسجيل السجلات

باستخدام nvidia-smi، يمكنك مراقبة وحدة معالجة الرسوميات في الوقت الفعلي وتسجيل السجلات. يتيح لك ذلك تتبع استخدام وحدة معالجة الرسوميات على المدى الطويل ويساعد في تحسين الأداء.

المراقبة الدورية

لإعداد مراقبة دورية، حدد الفاصل الزمني للتحديث باستخدام الخيار -l في nvidia-smi. يمكن أيضًا تسجيل السجلات في ملف.

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /var/log/gpu.log

التشغيل المبرمج باستخدام روابط Python

يحتوي nvidia-smi على روابط Python (nvidia-ml-py)، مما يتيح لك الحصول على معلومات وحدة معالجة الرسوميات برمجيًا من Python. باستخدام هذا، يمكن تحقيق مراقبة وتحكم أكثر تخصيصًا.

7. الخلاصة

nvidia-smi هي أداة قوية للتحقق من استخدام وحدة معالجة الرسوميات NVIDIA وإدارتها بفعالية في Ubuntu. في هذه المقالة، شرحنا كل شيء بدءًا من الاستخدام الأساسي لـ nvidia-smi وحتى الحصول على معلومات العملية، وتثبيت برنامج التشغيل، والتحقق من التشغيل باستخدام TensorFlow. استفد إلى أقصى حد من أداء وحدة معالجة الرسوميات لديك وحسّن نظامك.

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