3 Repos
The process of writing and managing low-level logic for GPU device execution.
Distinguishing note: Candidates focus on Android kernels or multi-device launches; this is general GPU-side kernel logic development.
Explore 3 awesome GitHub repositories matching operating systems & systems programming · GPU Kernel Development. Refine with filters or upvote what's useful.
rust-cuda ist ein GPU-Programmier-Framework und Device-Compiler, der die Entwicklung und Ausführung von High-Performance-Kernels auf NVIDIA-Hardware mit Rust ermöglicht. Es bietet einen Driver-Wrapper zur Verwaltung von Device-Speicherallokation und Kernel-Launching und fungiert effektiv als System zum Schreiben von GPU-Compute-Logik, ohne auf C++ angewiesen zu sein. Das Projekt enthält eine Compute-Bibliothek mit hardwareoptimierten Primitiven für neuronale Netzwerkbeschleunigung und hardwarebeschleunigtes Raytracing. Es nutzt eine Compilation-Toolchain, die Quellcode in eine Low-Level-Zwischendarstellung für die Ausführung auf Grafikprozessoren übersetzt. Das Framework deckt Device-Ressourcenmanagement, Kernel-Entwicklung und die Simulation hochpräziser Integer-Operationen ab. Zudem unterstützt es Device-seitige Zufallszahlengenerierung und zielspezifische Compute-Optimierungen. Vorkonfigurierte Container-Images sind verfügbar, um die Bereitstellung der Compiler-Toolchain und der Entwicklungsumgebung über verschiedene Hardware-Architekturen hinweg zu vereinfachen.
Provides a framework for managing thread indices and memory allocation to create device-side logic.
AITemplate ist ein Ahead-of-Time-Deep-Learning-Compiler, der PyTorch-neuronale Netze in eigenständigen C++-Quellcode übersetzt. Er fungiert als PyTorch-zu-C++-Compiler und GPU-Kernel-Fusion-Engine und erzeugt in sich geschlossene ausführbare Binärdateien, die Inferenz ausführen, ohne einen Python-Interpreter oder eine Deep-Learning-Framework-Runtime zu benötigen. Das Projekt generiert optimierten CUDA- und HIP-C++-Code speziell für NVIDIA TensorCores und AMD MatrixCores. Es konzentriert sich auf die Maximierung des Durchsatzes für Gleitkommaoperationen mit halber Präzision durch ein System, das mehrere neuronale Netzwerkoperatoren zu einzelnen GPU-Kernels kombiniert, um Speicher-Overhead und Latenz zu minimieren. Das Toolset deckt GPU-Inferenzbeschleunigung und High-Performance-Computing ab und bietet Funktionen für die Entwicklung benutzerdefinierter GPU-Operatoren sowie das Mapping von Graph-Knoten auf hardware-spezifische Templates. Es enthält Utility-Unterstützung für das Benchmarking der Inferenz-Performance und die Visualisierung von Modelloptimierungen.
Provides the ability to define new neural network primitives and map them to hardware-specific code generation templates.
HIP ist eine C++-GPU-Kernelsprache und eine plattformübergreifende Laufzeitumgebung, die für das Schreiben portabler Hochleistungs-Rechenanwendungen entwickelt wurde. Sie bietet eine Programmierschnittstelle, die es ermöglicht, eine einzelne Quellcodebasis sowohl auf AMD- als auch auf NVIDIA-GPU-Architekturen auszuführen. Das Projekt fungiert als Kompatibilitätsschicht, die die Konvertierung und Migration bestehender CUDA-Quellcodes zur Ausführung auf AMD-Hardware ermöglicht. Dies wird durch ein Syntax-Mapping erreicht, das CUDA widerspiegelt, sowie durch einen Source-to-Source-Übersetzungsprozess während der Kompilierung. Das Toolkit deckt die breitere Oberfläche der plattformübergreifenden GPGPU-Entwicklung ab, einschließlich heterogener Rechenoptimierung und der Erstellung portabler Kernels. Es nutzt eine Laufzeitabstraktion, um einheitliche API-Aufrufe auf herstellerspezifische Treiberbibliotheken für Speicher- und Kernel-Management abzubilden.
Enables the development of single-source C++ kernels that execute on multiple GPU architectures.