11 Repos
The act of writing and transpiling compute tasks to run on graphics hardware.
Distinct from GPU Kernel: Existing candidates focus on tile-based models, differentiators, or memory inspectors rather than the general capability of programming GPU kernels.
Explore 11 awesome GitHub repositories matching programming languages & runtimes · GPU Kernel Programming. Refine with filters or upvote what's useful.
AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip architecture to high-level training frameworks. It encompasses the development of AI compiler frameworks, inference engines, and distributed training orchestrators designed to coordinate workloads across a heterogeneous compute stack of CPUs, GPUs, and NPUs. The project focuses on the deep integration of software and hardware, employing software-hardware co-design to align tensor layouts with physical memory structures. It provides specialized capabilities for accelerating Transformer mo
Writes kernels in C/C++ to execute computationally intensive tasks across a massive array of GPU threads.
GPU-Puzzles is an interactive learning environment and tutorial designed for mastering CUDA GPU kernel development. It serves as an educational tool and lab where users solve coding puzzles to understand how to map high-level logic to low-level GPU hardware instructions. The platform focuses on teaching parallel computing concepts and GPU architecture. Users practice developing parallel algorithms and managing GPU memory through a series of hands-on challenges. The environment utilizes a bridge between Python and CUDA to execute kernels and provide real-time feedback by validating outputs ag
Provides a set of programming challenges designed to teach the mapping of high-level code to GPU hardware.
This repository is a collection of reference implementations and programming examples for the CUDA Toolkit. It serves as a GPGPU implementation guide and a parallel computing reference, providing code for using graphics hardware to perform general-purpose calculations and high-performance parallel processing. The project provides specific samples for GPU kernel development and resource management. These include demonstrations of multi-GPU communication, peer-to-peer memory access, and system hardware inspection to coordinate distributed GPU resources. The codebase covers a wide range of capa
Serves as a primary reference for writing and executing parallel compute kernels on GPU hardware.
This project is a collection of reference implementations and benchmarks demonstrating the use of the Vulkan graphics and compute API. It provides a set of cross-platform examples and GPU programming patterns designed for high-performance rendering and hardware-accelerated tasks. The repository includes a suite of performance benchmarks used to measure API behavior across different hardware environments. It features a modular architecture that organizes rendering examples into isolated units, along with command-line utilities for the batch execution of sample sequences. The project covers se
Offers practical code demonstrations for writing GPU kernels and compute tasks via low-level interfaces.
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 writing and executing high-performance GPU kernels using Rust.
Dieses Projekt ist eine umfassende Bildungsressource und ein Lehrplan, der sich auf das Design und die Implementierung des gesamten Machine-Learning-Software- und Hardware-Stacks konzentriert. Es dient als technische Referenz für die Architektur von Machine-Learning-Systemen, die von Low-Level-Programmierschnittstellen bis hin zur Deployment-Infrastruktur im großen Maßstab reicht. Das Projekt bietet instruktive Anleitungen zu mehreren spezialisierten Bereichen, einschließlich der Entwicklung von KI-Compilern durch Zwischenrepräsentationen und Graph-Optimierungen. Es deckt die Architekturmuster ab, die für verteiltes Training über GPU-Cluster hinweg erforderlich sind, sowie die Programmierung von Hardware-Beschleunigern zur Optimierung von Workloads auf spezialisierten Chips. Die Ressource beschreibt zudem die Implementierung von Modell-Serving-Frameworks für Produktionsumgebungen und das Design von Reinforcement-Learning-Pipelines. Ihr Umfang erstreckt sich auf die Kernkomponenten von ML-Systemen, wie automatische Differenzierung, Tensor-Abstraktionen und die Orchestrierung von GPU-Ressourcen.
Teaches the implementation of high-performance kernels for specialized AI accelerators and NPUs.
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.
Provides a C++ GPU kernel language for writing parallel compute kernels that target multiple hardware backends.
warp-ctc ist eine Hochleistungsbibliothek zur Berechnung der Connectionist Temporal Classification (CTC) Loss zum Training von Sequence-to-Sequence-Deep-Learning-Modellen. Sie bietet eine numerische Stabilitätsschicht unter Verwendung von Log-Space-Berechnungen, um Underflow- und Präzisionsfehler bei Wahrscheinlichkeitsberechnungen für lange Sequenzen zu verhindern. Die Bibliothek nutzt hardwarebeschleunigte Kernels, um den Loss parallel über CPU- und GPU-Architekturen hinweg zu berechnen. Sie konzentriert sich auf die Steigerung des Trainingsdurchsatzes durch die Optimierung der dynamischen Programmierschritte des CTC-Algorithmus. Diese Fähigkeiten unterstützen das Training von Modellen für Spracherkennung, Handschrifterkennung (OCR) und allgemeines Sequence-to-Sequence-Mapping. Das Projekt beinhaltet eine Integration zur Berechnung von Loss und alignment-freiem Training innerhalb von TensorFlow.
Ships hardware-accelerated kernels that compute CTC loss in parallel across CPU and GPU architectures.
gpu.cpp ist eine leichtgewichtige C++-Bibliothek zur Ausführung von Low-Level-General-Purpose-GPU-Berechnungen über verschiedene Hardwareanbieter und Betriebssysteme hinweg. Sie fungiert als portabler GPU-Wrapper, Kernel-Orchestrator und Tensor-Managementsystem unter Verwendung der WebGPU-Spezifikation, um Geräteinitialisierung, Pufferübertragungen und Compute-Shader-Dispatching zu abstrahieren. Die Bibliothek bietet ein Framework zur Definition von Compute-Kerneln aus Shader-Code und zur Verwaltung ihrer asynchronen Ausführung und Synchronisation. Sie ermöglicht die Ausführung plattformübergreifender Compute-Shader und die Orchestrierung von GPU-Aufgaben durch eine standardisierte Grafikprozessor-Spezifikation. Das System handhabt den gesamten Lebenszyklus von GPU-Speicher, einschließlich der Allokation mehrdimensionaler Tensoren, bidirektionaler Datenbewegung zwischen Host und Gerät über Staging-Puffer sowie Ressourcen-Tracking zur Vermeidung von Speicherlecks. Es unterstützt zudem Tensor-Slicing zur Erstellung nicht-besitzender Views von Speichersegmenten und enthält Dienstprogramme für System-Message-Logging und Schweregrad-Filterung.
Provides low-level primitives for defining and dispatching compute kernels with custom shader code.
Zen-C is a multi-target systems language and source-to-source compiler that translates high-level logic into human-readable GNU C or C11 code. It functions as a JIT-enabled programming language with an in-process compiler for real-time interactive code evaluation and testing. The project serves as a CUDA GPU kernel generator, mapping specialized syntax to CUDA C++ using device attributes to target graphics hardware. It acts as an interoperability layer capable of emitting compatible code for C++, Objective-C, and Lisp to bridge native system frameworks and libraries. The language includes an
Run compute tasks on graphics hardware by transpiling to specialized syntax and device attributes.
cuda-python provides low-level Python bindings for the CUDA Driver and Runtime APIs. It serves as a programmatic wrapper for controlling device memory, managing hardware toolchains, and orchestrating execution graphs on NVIDIA GPUs, allowing for the compilation and launching of parallel kernels directly from Python. The project enables the development of SIMT kernels and the execution of mathematical algorithms on device memory. It integrates pre-compiled bytecode as custom operators and interfaces with accelerated device libraries to access low-level hardware functions without leaving the la
Supports the development and compilation of SIMT kernels for high-performance workloads on NVIDIA hardware.