العودة
DOCA GPUnetIO يوحد تفاعلات الشبكة المبنية على GPU في حزمة برمجيات NVIDIA
SiTech AI Team2 دقيقة قراءة

DOCA GPUnetIO يوحد تفاعلات الشبكة المبنية على GPU في حزمة برمجيات NVIDIA

يمنح DOCA GPUnetIO نوى CUDA أساسًا مشتركًا لـ GDA-KI لإدارة عمليات Ethernet وRDMA وVerbs وDMA مباشرةً وإبعاد وحدة المعالجة المركزية عن المسار الحرج. الآن يعتمد NCCL وNVSHMEM وUCX/NIXL وHoloscan على تطبيق واحد.

أساس موحد للشبكات المبنية على GPU

DOCA GPUnetIO هو إطار عمل للشبكات موجه نحو GPU لمعالجة الحزم ونقل البيانات في الوقت الفعلي. يجمع بين GPUDirect RDMA وGPUDirect Async Kernel-Initiated (GDA-KI) وGDRCopy، بحيث تدير نوى CUDA عمليات Ethernet وRDMA وVerbs وDMA مباشرةً وتُبعد وحدة المعالجة المركزية عن المسار الحرج. وفقًا لـ NVIDIA، هذا هو الأساس الموحد لـ GDA-KI الذي يستخدمه NVSHMEM وNCCL وAerial 5G SDK وUCX/NIXL وNVQLink مع Holoscan Sensor Bridge وHoloscan Advanced Network Operator وDeepEP/HybridEP.

الشيفرة المفتوحة ونسخ SDK

تقدم NVIDIA GPUnetIO كحزمة فائقة من DOCA SDK الكامل وكتطبيق أخف مفتوح المصدر موجه نحو Verbs. تشمل نسخة SDK تقنيات Verbs وEthernet وDMA وComm Channel، بينما تخدم النسخة المفتوحة أطر النقل المفتوحة بالكامل. يكتشف التطبيق المفتوح DOCA SDK عند الإقلاع ويستدعي الوظائف المغلقة المحددة عبر dlopen إذا أشار متغير البيئة إلى المسار الصحيح؛ وإلا يعمل بشكل مستقل. كلا الشكلين يعرضان CUDA API الموجه نحو الأجهزة، مما يحافظ على نموذج برمجة GPU بشكل متسق.

مسار التحكم ومسار البيانات وواجهات API

تبدأ تطبيقات GPUnetIO بمسار التحكم عبر وحدة المعالجة المركزية: يتم تهيئة GPU والشبكة، وتقسيم الذاكرة، وإنشاء كائنات النقل والواصفات في ذاكرة GPU. تسهل أدوات مساعدة مثل doca_gpu_verbs_create_qp_hl إنشاء أزواج طوابير RDMA والاتصال. على مسار بيانات GPU، تضع خيوط CUDA عناصر WQE، وترن جرس البطاقة، وتتحقق من سجلات الإكمال عند الحاجة. أنماط رنين الجرس تشمل كتابات MMIO من ذاكرة CUDA، وكتابة WQE كاملة عبر BlueFlame لتقليل زمن الاستجابة على طوابير صغيرة، ونمط مدعوم بوحدة المعالجة المركزية للأنظمة بدون اتصال مباشر GPU-NIC مثل DGX Spark. بالنسبة لـ Ethernet وRDMA Verbs، تدير الاستدعاءات عالية المستوى (doca_gpu_dev_verbs_put_signal, doca_gpu_dev_eth_txq_send) المزامنة وإرسال رنين الجرس على مستوى الخيط أو warp أو الكتلة. توفر البدائيات منخفضة المستوى تجهيز WQE وإرسال الطوابير والتحقق من الإكمالات، لكنها ليست آمنة تجاه الخيوط وتتطلب مزامنة التطبيق. الأمثلة موجودة في المستودع المفتوح وDOCA SDK.

تكاملات NCCL وNVSHMEM

يعرض NCCL GIN بدائيات put وget وsignal وwait وflush على جانب الجهاز. ابتداءً من NCCL 2.27، يستخدم GIN مسار GPUnetIO Verbs مفتوح المصدر كخلفية لـ GDA-KI: تنعكس عمليات GIN على استدعاءات GPUnetIO لتجهيز WQE وطلب رنين الجرس والتحقق من الإكمال. أضاف NVSHMEM 3.7 نقل GPUnetIO الذي يتبع بنية IBGDA ويستبدل جزءًا كبيرًا من المستوى المنخفض باستدعاءات GPUnetIO. يدعم GDA-KI وRDMA المبادرة من المضيف، والتي تُختار عبر NVSHMEM_REMOTE_TRANSPORT=gpunetio وNVSHMEM_GPUNETIO_ENABLE_GDAKI=1. يستخدم NVQLink مشغل GPU RoCE Transceiver المبني على GPUnetIO لتحقيق حد أدنى من زمن الاستجابة ثنائي الاتجاه يبلغ حوالي 2,6 ميكروثانية على IGX Thor مع Blackwell GPU وConnectX-7.

المصادر: Nvidia Dev

SSiTech

SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي

نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.