Geri Dön
DOCA GPUnetIO, GPU başlatımlı ağ etkileşimini NVIDIA yazılım yığınında birleştirir
SiTech AI Team2 dk okuma

DOCA GPUnetIO, GPU başlatımlı ağ etkileşimini NVIDIA yazılım yığınında birleştirir

DOCA GPUnetIO, CUDA çekirdeklerine Ethernet, RDMA, Verbs ve DMA işlemlerini doğrudan yönetmek ve CPU'yu kritik yoldan uzaklaştırmak için ortak bir GDA-KI temeli sunar. Artık NCCL, NVSHMEM, UCX/NIXL ve Holoscan tek bir uygulamaya dayanıyor.

GPU başlatımlı ağ için ortak temel

DOCA GPUnetIO, gerçek zamanlı paket işleme ve veri taşıma katmanı için GPU odaklı bir ağ SDK'sıdır. GPUDirect RDMA, GPUDirect Async Kernel-Initiated (GDA-KI) ve GDRCopy bir araya getirilerek CUDA çekirdeklerinin Ethernet, RDMA, Verbs ve DMA işlemlerini doğrudan yönetmesi ve CPU'nun kritik yoldan uzaklaştırılması sağlanır. NVIDIA'ya göre bu, NVSHMEM, NCCL, Aerial 5G SDK, UCX/NIXL, NVQLink Holoscan Sensor Bridge, Holoscan Advanced Network Operator ve DeepEP/HybridEP tarafından kullanılan tek bir GDA-KI temelidir.

Açık kod ve SDK varyantları

NVIDIA, GPUnetIO'yu tam DOCA SDK süper seti ve daha hafif, açık kodlu Verbs odaklı bir uygulama olarak sunar. SDK sürümü Verbs, Ethernet, DMA ve Comm Channel içerir; açık sürüm ise tamamen açık taşıma isteyen çerçevelere hizmet eder. Açık uygulama başlatma sırasında DOCA SDK'yı algılar ve ortam değişkeni doğru yolu gösteriyorsa dlopen ile seçili kapalı işlevleri çağırır; göstermiyorsa bağımsız çalışır. Her iki form da cihaz odaklı CUDA API'sini ortaya çıkarır ve GPU programlama modelini tutarlı kılar.

Kontrol yolu, veri yolu ve API'ler

GPUnetIO uygulamaları CPU kontrol yoluyla başlar: GPU ve ağ başlatılır, bellek bölünür, taşıma nesneleri oluşturulur ve tanımlayıcılar GPU belleğine taşınır. doca_gpu_verbs_create_qp_hl gibi yardımcılar RDMA kuyruk çifti oluşturma ve bağlantıyı kısaltır. GPU veri yolunda CUDA iş parçacıkları WQE yerleştirir, kart kapısı zarını çalar ve gerektiğinde tamamlanma kayıtlarını denetler. Kapı zarı modları: CUDA belleğinden MMIO yazımı, düşük gecikme için küçük kuyruklarda BlueFlame ile tüm WQE yazımı ve örneğin DGX Spark gibi doğrudan GPU-NIC bağlantısı olmayan sistemler için CPU destekli mod. Ethernet ve RDMA Verbs için üst düzey çağrılar (doca_gpu_dev_verbs_put_signal, doca_gpu_dev_eth_txq_send) eşitleme ve kapı zarı gönderimini iş parçacığı, warp veya blok düzeyinde yönetir. Alt düzey ilkeller WQE hazırlama, kuyruk gönderimi ve tamamlanma denetimi sağlar, ancak iş parçacığı açısından güvenli değildir ve uygulama eşitlemesi gerektirir. Örnekler açık depoda ve DOCA SDK'da bulunur.

NCCL ve NVSHMEM entegrasyonları

NCCL GIN, cihaz tarafı put, get, signal, wait ve flush ilkellerini sunar. NCCL 2.27'den itibaren GIN, açık kodlu GPUnetIO Verbs yolunu GDA-KI arka uç olarak kullanır; GIN işlemleri WQE hazırlama, kapı zarı çağrısı ve tamamlanma denetimi için GPUnetIO çağrılarına eşlenir. NVSHMEM 3.7, IBGDA yapısını izleyen ve alt düzey büyük kısmını GPUnetIO çağrılarıyla değiştiren bir GPUnetIO taşıma katmanı ekledi. GDA-KI ve ana bilgisayar başlatımlı RDMA'yı destekler; bunlar NVSHMEM_REMOTE_TRANSPORT=gpunetio ve NVSHMEM_GPUNETIO_ENABLE_GDAKI=1 ile seçilir. NVQLink, GPUnetIO tabanlı GPU RoCE Transceiver operatörünü kullanır ve IGX Thor üzerinde Blackwell GPU ile ConnectX-7 ile yaklaşık 2,6 mikrosaniyelik minimum çift yönlü gecikme hedefler.

Kaynaklar: Nvidia Dev

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.