2 repository-uri
Allows compute kernels to interface directly with raw tensor memory addresses for optimized hardware performance.
Distinct from Operator Kernel Implementations: Focuses on raw memory pointer access for GPU kernels rather than the logical implementation of the operator itself.
Explore 2 awesome GitHub repositories matching operating systems & systems programming · Direct-Pointer Memory Access. Refine with filters or upvote what's useful.
Flashlight este o bibliotecă C++ standalone de machine learning și tensori, utilizată pentru construirea și antrenarea rețelelor neuronale. Aceasta funcționează ca un framework cuprinzător de rețele neuronale și motor de diferențiere automată, oferind instrumentele necesare pentru a construi grafuri de calcul și a calcula gradienții prin backpropagation. Proiectul servește drept framework de antrenare distribuită, utilizând operațiuni all-reduce pentru a sincroniza gradienții și parametrii pe mai multe noduri de calcul și dispozitive. Se distinge prin integrarea profundă a manipulării de înaltă performanță a tensorilor, interoperabilitatea nativă a memoriei dispozitivului și un sistem pentru sincronizarea ponderilor între workerii distribuiți pentru a accelera antrenarea modelelor la scară largă. Framework-ul acoperă o gamă largă de capabilități de deep learning, inclusiv compoziția modulară a straturilor pentru proiectarea arhitecturilor complexe precum blocuri reziduale și celule recurente. Oferă utilitare extinse de gestionare a datelor pentru ingestie și prefetching, alături de sisteme de serializare pentru persistența stărilor modelelor. În plus, include o suită de instrumente de monitorizare și observabilitate pentru urmărirea metricilor de antrenare și măsurarea erorilor de secvență. Biblioteca este implementată în C++.
Enables custom GPU kernels to operate on raw tensor memory addresses for high-performance mathematical operations.
NCCL este o bibliotecă de comunicare de înaltă performanță și un framework de calcul distribuit pe GPU, conceput pentru executarea schimburilor de date colective și punct-la-punct pe mai multe GPU-uri în sisteme cu un singur nod sau multi-nod. Servește ca strat de transport RDMA pentru GPU și orchestrator de memorie, facilitând sincronizarea cu lățime de bandă mare a datelor și a gradienților de model pentru antrenarea și inferența distribuită pe GPU. Biblioteca se distinge prin capacitatea sa de a executa primitive de comunicare direct din kernel-urile GPU, eliminând CPU-ul gazdă din calea critică. Utilizează selecția de căi conștientă de topologie pentru a optimiza mișcarea datelor și folosește transportul de rețea bazat pe RDMA, inclusiv InfiniBand și NVLink, pentru a permite accesul la memorie zero-copy între dispozitive pe diferite noduri fizice. Proiectul acoperă o gamă largă de tipare de comunicare colectivă, inclusiv reduceri, broadcast-uri, gather-uri și schimburi all-to-all, alături de accesul la memorie la distanță punct-la-punct. Oferă gestionare cuprinzătoare a comunicatorului pentru inițializarea, partiționarea și redimensionarea grupurilor GPU, precum și gestionarea specializată a memoriei pentru înregistrarea bufferelor și coordonarea memoriei partajate a dispozitivului. Sistemul include o suită de instrumente de monitorizare și observabilitate pentru urmărirea stării, logarea diagnostică și monitorizarea evenimentelor în timp real, precum și interfețe de integrare pentru framework-uri de machine learning, CUDA graphs, MPI și Python.
Implements direct access to raw memory addresses for high-performance GPU kernel communication.