2 Repos
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 ist eine eigenständige C++-Bibliothek für maschinelles Lernen und Tensor-Berechnungen, die zum Erstellen und Trainieren neuronaler Netze verwendet wird. Sie fungiert als umfassendes Framework für neuronale Netze und Engine für automatische Differenzierung und bietet Werkzeuge zur Konstruktion von Berechnungsgraphen und zur Berechnung von Gradienten via Backpropagation. Das Projekt dient als Framework für verteiltes Training und nutzt All-Reduce-Operationen zur Synchronisation von Gradienten und Parametern über mehrere Rechenknoten und Geräte hinweg. Es zeichnet sich durch eine tiefe Integration von leistungsstarker Tensor-Manipulation, nativer Interoperabilität mit Gerätespeichern und einem System zur Synchronisation von Gewichten über verteilte Worker aus, um das Training großskaliger Modelle zu beschleunigen. Das Framework deckt eine breite Palette an Deep-Learning-Funktionen ab, einschließlich modularer Schichtkomposition für den Entwurf komplexer Architekturen wie Residual-Blöcke und rekurrente Zellen. Es bietet umfangreiche Datenmanagement-Utilities für Ingestion und Prefetching sowie Serialisierungssysteme zur Persistierung von Modellzuständen. Zusätzlich enthält es eine Suite an Überwachungs- und Observability-Tools zur Verfolgung von Trainingsmetriken und zur Messung von Sequenzfehlern. Die Bibliothek ist in C++ implementiert.
Enables custom GPU kernels to operate on raw tensor memory addresses for high-performance mathematical operations.
NCCL ist eine Hochleistungs-Kommunikationsbibliothek und ein Framework für verteiltes GPU-Computing, das für die Ausführung kollektiver und Punkt-zu-Punkt-Datenaustausche über mehrere GPUs in Einzel- oder Multi-Node-Systemen entwickelt wurde. Es dient als RDMA-GPU-Transportschicht und Speicher-Orchestrator, der die hochbandbreitige Synchronisation von Daten und Modellgradienten für verteiltes GPU-Training und Inference erleichtert. Die Bibliothek zeichnet sich durch ihre Fähigkeit aus, Kommunikationsprimitive direkt aus GPU-Kernels auszuführen, wodurch die Host-CPU aus dem kritischen Pfad entfernt wird. Sie nutzt topologiebewusste Pfadauswahl zur Optimierung der Datenbewegung und verwendet RDMA-basierten Netzwerktransport, einschließlich InfiniBand und NVLink, um Zero-Copy-Speicherzugriffe zwischen Geräten über verschiedene physische Knoten hinweg zu ermöglichen. Das Projekt deckt eine breite Palette an kollektiven Kommunikationsmustern ab, darunter Reduktionen, Broadcasts, Gathers und All-to-All-Austausche, neben Punkt-zu-Punkt-Remote-Speicherzugriffen. Es bietet umfassendes Communicator-Management für die Initialisierung, Partitionierung und Größenanpassung von GPU-Gruppen sowie spezialisiertes Speichermanagement für das Registrieren von Buffern und das Koordinieren von gemeinsam genutztem Gerätespeicher. Das System enthält eine Suite von Monitoring- und Observability-Tools für Health-Tracking, diagnostisches Logging und Echtzeit-Ereignisüberwachung sowie Integrationsschnittstellen für Machine-Learning-Frameworks, CUDA-Graphs, MPI und Python.
Implements direct access to raw memory addresses for high-performance GPU kernel communication.