دليل تقني شامل: تحديث برنامج CMP 170HX وفتح قفل ذاكرة HBM2e بسعة 64 جيجابايت على نظام Ubuntu 22.04 LTS
مشاركة
# دليل تقني كامل: تحديث برنامج CMP 170HX وفتح ذاكرة HBM2e بسعة 64 جيجابايت على نظام Ubuntu 22.04 LTS
يشرح هذا الدليل الإجراء الكامل لتجاوز قيود رمز التحقق لمرة واحدة (OTP) المصنعية على بطاقة الرسومات **NVIDIA CMP 170HX** (معمارية GA100، معرف الجهاز `10de:20c2` / `10de:20b0`) باستخدام **`CMPUnlocker`**. يؤدي هذا إلى استعادة معالجات البث المتعددة (SMs) المعطلة وفتح ذاكرة HBM2e الخاملة (توسيع طرازات 8 جيجابايت حتى 64 جيجابايت من ذاكرة الوصول العشوائي للفيديو).
---
## المتطلبات التقنية ومتطلبات النظام
قبل البدء، تأكد من أن خادم الاستضافة الخاص بك يفي بالمعايير التالية:
* **نظام التشغيل:** Ubuntu 22.04 LTS أو 24.04 LTS (x86_64).
* **الهدف من برنامج التشغيل:** حزمة برنامج تشغيل وحدات نواة وحدة معالجة الرسومات المفتوحة من NVIDIA (الفرع v580.x).
* **امتيازات النظام:** الوصول إلى صلاحيات الجذر / `sudo`.
* **تبريد الأجهزة:** تدفق هواء قسري عالي الضغط الساكن (مراوح بسرعة 4,000+ دورة في الدقيقة في هيكل مثبت على رف 4U) لمنع الإغلاق الحراري على المشتتات الحرارية السلبية.
---
### الخطوة 1: تدقيق النظام وتثبيت التبعيات
أولاً، تأكد من اكتشاف بطاقتك على ناقل PCIe وقم بتثبيت بيئة تطوير Python 3 ومحلل YAML المطلوبين بواسطة برنامج فتح القفل.
``` باش
١. تحقق من وجود GA100 / CMP 170HX على ناقل PCI
lspci -nn | grep -i nvidia
# يجب أن يُظهر الناتج المتوقع مُعرّف الجهاز 10de:20c2 أو 10de:20b0
٢. تحديث فهارس المستودع وتثبيت تبعيات النظام
sudo apt update && sudo apt install -y
بناء أساسي
بايثون 3
python3-pip
python3-yaml \
جيت \
pciutils \
مجلد مشترك
3. تحقق من تثبيت PyYAML
python3 -c "import yaml; print(yaml.__version__)"
الخطوة 2: تثبيت برامج تشغيل نواة NVIDIA مفتوحة المصدر (الفرع 580.x)
CMPUnlocker يعتمد على تجاوزات محددة في سجلات البرنامج الثابت NVIDIA GSP (معالج نظام وحدة معالجة الرسومات) الذي يتم تحميله بواسطة nvidia-open سلسلة سائقي 580.
١. أضف مستودع برامج تشغيل الرسومات الرسمي (PPA)
sudo add-apt-repository ppa:graphics-drivers/ppa -y
تحديث sudo apt
٢. قم بتثبيت برنامج تشغيل وحدة معالجة الرسومات مفتوح النواة وأدوات CUDA
sudo apt install -y nvidia-driver-580-open nvidia-utils-580
# 3. منع التحديثات التلقائية من إتلاف وحدات النواة
sudo apt-mark hold nvidia-driver-580-open
4. التحقق من وجود برنامج GSP الثابت
ls -la /lib/firmware/nvidia/580.*/gsp_tu10x.bin
الخطوة 3: نسخ احتياطي لبرنامج GSP الثابت الأصلي
قم دائمًا بإنشاء نسخة احتياطية من ملف البرامج الثابتة الثنائية غير المعدلة (gsp_tu10x.bin) قبل تشغيل تصحيح فتح القفل.
# حدد مسار دليل برنامج التشغيل الخاص بك بدقة
GSP_DIR=$(dirname$(ls /lib/firmware/nvidia/580.*/gsp_tu10x.bin | head -n1))
أنشئ نسخة احتياطية دائمة للمخزون
Sudo cp "${GSP_DIR}/gsp_tu10x.bin" "${GSP_DIR}/gsp_tu10x.bin.stock"
echo "تم حفظ النسخة الاحتياطية في ${GSP_DIR}/gsp_tu10x.bin.stock"
الخطوة 4: استنسخ برنامج CMPUnlocker وحدد ملف تعريف VRAM
استنسخ مستودع المصدر واضبط هدف هندسة الذاكرة الافتراضي على unlocked_64gb بالنسبة للإصدارات المادية بسعة 8 جيجابايت.
# 1. استنساخ المستودع إلى مساحة العمل المحلية
مؤتمر نزع السلاح / اختيار
sudo git clone [https://github.com/amoghmunikote/cmpunlocker.git](https://github.com/amoghmunikote/cmpunlocker.git)
قرص مضغوط cmpunlocker
٢- افحص إعدادات الملف الشخصي في تكوين الثوابت
# بالنسبة للبطاقات الفعلية سعة 8 جيجابايت التي تستهدف ذاكرة فيديو بسعة 64 جيجابايت:
sudo ./install.sh --profile=8gb
# (ملاحظة: بالنسبة لبطاقات الإصدار النادرة بسعة 10 جيجابايت التي تستهدف 40 جيجابايت/80 جيجابايت، استخدم --profile=10gb بدلاً من ذلك)
الخطوة 5: تنفيذ دورة الطاقة الباردة
بخلاف عمليات إعادة تحميل برامج التشغيل القياسية، يتطلب فتح سجل WPR2 الأولي ومسح حالة مكثف SEC2 إعادة تشغيل كاملة للجهاز. أما إعادة التشغيل الجزئية فستؤدي إلى فشل عملية فتح السجل في المرة الأولى.
# 1. قم بإيقاف تشغيل النظام بالكامل
sudo السلطة خارج
ملاحظة تشغيلية: بعد إيقاف تشغيل الخادم، افصل كابلات مصدر الطاقة لمدة 60 ثانية لتفريغ جهد الاستعداد بالكامل من مكثفات اللوحة الأم ولوحة معالجة الرسومات. أعد توصيل الطاقة وقم بتشغيل نظام أوبونتو مرة أخرى.
الخطوة 6: تشغيل Unlock Pipeline وتمكين خدمة Systemd
لأن تعديلات السجلات لا تبقى بعد دورات الطاقة المتكررة، CMPUnlocker تقوم خدمة الخلفية بمراقبة السجلات وإعادة تطبيق التصحيح تلقائيًا عند بدء التشغيل وإعادة تحميل برامج التشغيل.
cd /opt/cmpunlocker
١. شغّل برنامج تثبيت فتح القفل بصلاحيات المستخدم الجذر.
sudo ./install.sh
٢. تحقق من حالة خدمة systemd
sudo systemctl status cmpunlocker.service
# 3. بث سجلات البرنامج الخفي للتأكد من تطبيق التصحيح
journalctl -u cmpunlocker -f -n 20
الخطوة 7: التحقق من صحة حالة الذاكرة غير المقفلة وحالة الحساب
سؤال nvidia-smi وقم بتشغيل برنامج نصي سريع لتهيئة CUDA للتأكد من إنتاجية الحوسبة الكاملة والتعرف على ذاكرة الوصول العشوائي للفيديو (VRAM).
# 1. تحقق من إزالة حد سرعة ساعة SM وتقارير VRAM
nvidia-smi --query-gpu=name,memory.total,clocks.max.sm --format=csv
# الناتج المتوقع:
# الاسم، إجمالي الذاكرة [ميغابايت]، الحد الأقصى لتردد الساعة [ميغاهرتز]
# جهاز رسومات NVIDIA، 65536 ميجابايت، 1410 ميجاهرتز
# 2. تنفيذ برنامج اختبار CUDA C-types في بايثون
python3 -c "
استيراد ctypes
كودا = ctypes.CDLL('libcuda.so.1')
init_res = cuda.cuInit(0)
print(f'حالة تهيئة CUDA: {init_res} (0 = نجاح)')
"
استكشاف الأخطاء وإصلاحها وأوضاع الفشل
| المشكلة / العرض | السبب المحتمل | اجراء تصحيحي |
nvidia-smi لا تزال التقارير 8 GB VRAM |
تجاوز سجل GSP-RM أو تخطي إعادة التشغيل البارد. | قم بتفريغ الطاقة البدنية لمدة 60 ثانية كاملة. تأكد من ذلك. gsp_patch.py محدثة بشكل صحيح sh_size أثناء الإعداد. |
| انقطاع اتصال وحدة معالجة الرسومات بناقل PCIe / التباطؤ الحراري | عدم كفاية تدفق الهواء السلبي للمشتت الحراري. | تأكد من أن مراوح الهيكل ذات التدفق العالي للهواء تسحب الهواء مباشرة عبر زعانف وحدة معالجة الرسومات. تدفق الهواء السلبي في سطح المكتب غير كافٍ. |
| تعطل النواة أثناء تحميل LLM الثقيل | عيب في السيليكون على مكدس HBM2e غير المقفل. | أعد التشغيل ./install.sh --profile=40gb (أو تعديل) constants.yaml) لتقييد تخصيص ذاكرة الوصول العشوائي للفيديو (VRAM) إلى مساحة ثابتة تبلغ 32 جيجابايت/40 جيجابايت. |