11 dépôts
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.
Ce projet est une collection d'implémentations de référence et de benchmarks démontrant l'utilisation de l'API graphique et de calcul Vulkan. Il fournit un ensemble d'exemples multiplateformes et de modèles de programmation GPU conçus pour le rendu haute performance et les tâches accélérées par le matériel. Le dépôt inclut une suite de benchmarks de performance utilisés pour mesurer le comportement de l'API dans différents environnements matériels. Il présente une architecture modulaire qui organise les exemples de rendu en unités isolées, ainsi que des utilitaires en ligne de commande pour l'exécution par lots de séquences d'exemples. Le projet couvre plusieurs domaines techniques, dont la gestion directe de la mémoire GPU, le profilage de performance en temps réel pour identifier les goulots d'étranglement de rendu, et des pipelines de calcul headless qui capturent les tampons de trame sans écran physique.
Offers practical code demonstrations for writing GPU kernels and compute tasks via low-level interfaces.
rust-cuda est un framework de programmation GPU et un compilateur de périphériques qui permet le développement et l'exécution de noyaux (kernels) haute performance sur du matériel NVIDIA en utilisant Rust. Il fournit un wrapper de pilote pour gérer l'allocation de mémoire du périphérique et le lancement des noyaux, servant efficacement de système pour écrire une logique de calcul GPU sans dépendre du C++. Le projet inclut une bibliothèque de calcul avec des primitives optimisées pour le matériel pour l'accélération des réseaux neuronaux et le raytracing accéléré par le matériel. Il utilise une chaîne de compilation qui traduit le code source en une représentation intermédiaire de bas niveau pour l'exécution sur les processeurs graphiques. Le framework couvre la gestion des ressources du périphérique, le développement de noyaux et la simulation d'opérations entières de haute précision. Il prend également en charge la génération de nombres aléatoires côté périphérique et des optimisations de calcul spécifiques à la cible. Des images de conteneurs pré-configurées sont disponibles pour simplifier le provisionnement de la chaîne de compilation et de l'environnement de développement à travers différentes architectures matérielles.
Provides a framework for writing and executing high-performance GPU kernels using Rust.
Ce projet est une ressource éducative complète et un programme axé sur la conception et l'implémentation de la pile logicielle et matérielle complète du machine learning. Il sert de référence technique pour l'architecture des systèmes de machine learning, allant des interfaces de programmation de bas niveau à l'infrastructure de déploiement à grande échelle. Le projet fournit des conseils pédagogiques sur plusieurs domaines spécialisés, notamment le développement de compilateurs IA via des représentations intermédiaires et des optimisations de graphes. Il couvre les modèles architecturaux requis pour l'entraînement distribué sur des clusters GPU et la programmation d'accélérateurs matériels pour optimiser les charges de travail sur des puces spécialisées. La ressource détaille également l'implémentation de frameworks de service de modèles pour les environnements de production et la conception de pipelines d'apprentissage par renforcement. Sa portée s'étend aux composants de base des systèmes ML, tels que la différenciation automatique, les abstractions de tenseurs et l'orchestration des ressources GPU.
Teaches the implementation of high-performance kernels for specialized AI accelerators and NPUs.
HIP est un langage de noyau GPU C++ et un runtime multiplateforme conçu pour écrire des applications de calcul haute performance portables. Il fournit une interface de programmation qui permet à une seule base de code source de s'exécuter sur les architectures GPU AMD et NVIDIA. Le projet fonctionne comme une couche de compatibilité qui permet la conversion et la migration du code source CUDA existant pour s'exécuter sur le matériel AMD. Ceci est réalisé grâce à un mappage de syntaxe qui reflète CUDA et un processus de traduction source-à-source pendant la compilation. La boîte à outils couvre la surface plus large du développement GPGPU multiplateforme, y compris l'optimisation du calcul hétérogène et la création de noyaux portables. Elle utilise une abstraction de runtime pour mapper les appels d'API unifiés aux bibliothèques de pilotes spécifiques au fournisseur pour la gestion de la mémoire et du noyau.
Provides a C++ GPU kernel language for writing parallel compute kernels that target multiple hardware backends.
warp-ctc is a high-performance library for calculating connectionist temporal classification loss to train sequence-to-sequence deep learning models. It provides a numerical stability layer using log-space computation to prevent underflow and precision errors during probability calculations for long sequences. The library utilizes hardware-accelerated kernels to compute loss in parallel across CPU and GPU architectures. It focuses on increasing training throughput by optimizing the dynamic programming steps of the CTC algorithm. These capabilities support the training of models for speech re
Ships hardware-accelerated kernels that compute CTC loss in parallel across CPU and GPU architectures.
gpu.cpp is a lightweight C++ library for executing low-level general-purpose GPU computation across different hardware vendors and operating systems. It functions as a portable GPU wrapper, kernel orchestrator, and tensor management system using the WebGPU specification to abstract device initialization, buffer transfers, and compute shader dispatching. The library provides a framework for defining compute kernels from shader code and managing their asynchronous dispatch and synchronization. It enables the execution of cross-platform compute shaders and the orchestration of GPU tasks through
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.