
بقلم: يوسف | محرر أدوات الذكاء الاصطناعي · صوت تحريري بإشراف بشري
يدشن مطورو llama.cpp النسخة b8797 بتحولات هندسية عميقة في كيفية تعامل المكتبة مع معالجات Hexagon من كوالكوم، مستبدلين البنية المتزامنة السابقة بنظام hmx-queue يحاكي واجهة dma-queue لتحسين التداخل والأداء.
- hmx-worker الجديد: نظام خيط مخصص للحوسبة HMX يتداخل مع عمليات HVX dequant/DMA في خط الإنتاج، مُستبدلاً المكالمات المتزامنة التي كانت تحجب الخيط الرئيسي
- البحث المعتمد على التكلفة: خوارزمية VTCM chunk search محسّنة لعمليات out-stationary matmul تحدد الحجم الأمثل للذاكرة المؤقتة
- إصلاح futex race: حل مشكلة السباق في hmx_worker_drain عبر حفظ المتغير البوليني محلياً لتجنب التحميل الذري المضاعف
- تحسين scatter/transpose: استخدام HMX intrinsics الأصلية لعمليات إعادة ترتيب البيانات مع تحسين الأداء
- ضبط حد vmem: خفض حد الذاكرة الافتراضية قليلاً تحت 3GB في إصدار v73 لتجنب مشاكل الذاكرة
- hmx-queue الموحد: استبدال hmx-worker بنظام hmx-queue يبسط التنفيذ الشامل ويقلل دورات إيقاظ الخيوط، (وفقاً لمذكرات الإصدار الرسمية)
هذه التحسينات تستهدف بشكل خاص المطورين الذين يعملون على أجهزة تحتوي معالجات Hexagon، خاصة في البيئات المدمجة والأجهزة المحمولة. الفرق الأساسي يكمن في كيفية إدارة عبء العمل المتوازي – النظام الجديد يسمح بتشغيل عمليات HMX بشكل غير متزامن مع باقي المعالجة، مما يحسن استغلال الموارد بشكل كبير.
الإصدار يأتي مع 26 بناءً مُجمّعاً مسبقاً يغطي كل منصة تطوير رئيسية: macOS يحصل على إصدارين arm64 (عادي ومع KleidiAI) وإصدار Intel x64، Linux يشمل Ubuntu للمعماريات x64 وarm64 وs390x مع دعم Vulkan وROCm 7.2 وOpenVINO 2026.0، Windows يقدم 8 متغيرات من CPU الأساسي إلى CUDA 13.1 وVulkan وSYCL، بينما openEuler يدعم معالجات Ascend 310p و910b مع ACL Graph. لكن المطورين الذين لا يعملون على Hexagon قد لا يلاحظوا فرقاً كبيراً في الأداء مقارنة بالإصدارات السابقة.




