HeadlinesBriefing favicon HeadlinesBriefing.com

virtio-nvgpu: وصول شبه أصلي لوحدة معالجة الرسومات NVIDIA في KVM

Hacker News •
×

نشرت Nestrilabs أداة virtio-nvgpu، وهي جهاز virtio تجريبي يتيح وصولاً شبه أصلي لوحدة معالجة الرسومات NVIDIA داخل آلات KVM الافتراضية. يقوم الضيف بالرسم ضمن 2% من أداء الجهاز الفعلي بينما يكلف نفس وحدة المعالجة المركزية. يقوم المشروع بإعادة توجيه استدعاءات ioctl الخاصة ببرنامج تشغيل نواة NVIDIA بين ضيف Linux والمضيف على مستوى ABI الخاص ببرنامج التشغيل، متجاوزاً تماماً الترجمة على مستوى API. يقوم الضيف بتشغيل برامج تشغيل NVIDIA الخاصة بوضع المستخدم غير المعدلة.

حالة الاستخدام المستهدفة هي البث بدون واجهة: يقوم مُركب داخل الجهاز الافتراضي بالرسم والتركيب وترميز الإطارات على وحدة معالجة الرسومات، ثم يرسل الفيديو المضغوط إلى الخارج. تم القياس على وحدة RTX 3060 مع برنامج التشغيل 595.99.02، حيث يطابق الضيف الجهاز الفعلي ضمن الضوضاء للإطارات التي تزيد عن 2 مللي ثانية. استخدام وحدة المعالجة المركزية متطابق — لا يتم إنفاق أي شيء على إعادة التوجيه في حلقة الرسم.

أربعة ضيوف على بطاقة واحدة يتشاركون بالتساوي عند 25.84، 26.49، 25.57، و 25.79 إطاراً في الثانية، بإجمالي 103.7 مقابل 102.9 لضيف واحد. التقسيم متساوٍ حتى أربع منازل عشرية. الأربعة هو ما تم اختباره، وليس حداً. يتم إعادة توجيه CUDA ولكن لم يتم اختباره بما يتجاوز التعداد. ينقسم المستودع بين GPL-2.0 لوحدة نواة الضيف و Apache-2.0 لصندوق Rust من جانب المضيف.