11 repository-uri
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.
Acest proiect este o colecție de implementări de referință și benchmark-uri care demonstrează utilizarea API-ului grafic și de calcul Vulkan. Oferă un set de exemple cross-platform și tipare de programare GPU concepute pentru randare de înaltă performanță și sarcini accelerate hardware. Repository-ul include o suită de benchmark-uri de performanță utilizate pentru a măsura comportamentul API-ului în diferite medii hardware. Dispune de o arhitectură modulară care organizează exemplele de randare în unități izolate, alături de utilitare CLI pentru execuția în lot a secvențelor de test. Proiectul acoperă mai multe domenii tehnice, inclusiv gestionarea directă a memoriei GPU, profilarea performanței în timp real pentru identificarea blocajelor de randare și pipeline-uri de calcul headless care capturează framebuffer-uri fără a necesita un afișaj fizic.
Offers practical code demonstrations for writing GPU kernels and compute tasks via low-level interfaces.
rust-cuda este un framework de programare GPU și un compilator de dispozitiv care permite dezvoltarea și execuția kernel-urilor de înaltă performanță pe hardware NVIDIA folosind Rust. Oferă un wrapper de driver pentru a gestiona alocarea memoriei dispozitivului și lansarea kernel-ului, servind efectiv ca un sistem pentru scrierea logicii de calcul GPU fără a se baza pe C++. Proiectul include o bibliotecă de calcul cu primitive optimizate hardware pentru accelerarea rețelelor neuronale și raytracing accelerat hardware. Utilizează un toolchain de compilare care traduce codul sursă într-o reprezentare intermediară low-level pentru execuția pe procesoare grafice. Framework-ul acoperă gestionarea resurselor dispozitivului, dezvoltarea kernel-ului și simularea operațiunilor cu numere întregi de înaltă precizie. Suportă, de asemenea, generarea de numere aleatorii pe dispozitiv și optimizări de calcul specifice țintei. Sunt disponibile imagini de container pre-configurate pentru a simplifica furnizarea toolchain-ului de compilare și a mediului de dezvoltare pe diferite arhitecturi hardware.
Provides a framework for writing and executing high-performance GPU kernels using Rust.
Acest proiect este o resursă educațională cuprinzătoare și un curriculum axat pe designul și implementarea întregului stack software și hardware de machine learning. Servește ca referință tehnică pentru arhitecturarea sistemelor de machine learning, pornind de la interfețe de programare de nivel scăzut până la infrastructura de deployment la scară largă. Proiectul oferă îndrumări instrucționale pe mai multe domenii specializate, inclusiv dezvoltarea compilatoarelor AI prin reprezentări intermediare și optimizări de grafuri. Acoperă tiparele arhitecturale necesare pentru antrenarea distribuită pe clustere GPU și programarea acceleratoarelor hardware pentru a optimiza sarcinile de lucru pe cipuri specializate. Resursa detaliază, de asemenea, implementarea framework-urilor de servire a modelelor pentru medii de producție și designul pipeline-urilor de reinforcement learning. Domeniul său de aplicare se extinde la componentele de bază ale sistemelor ML, cum ar fi diferențierea automată, abstracțiile de tensori și orchestrarea resurselor GPU.
Teaches the implementation of high-performance kernels for specialized AI accelerators and NPUs.
HIP este un limbaj de kernel GPU C++ și un runtime cross-platform conceput pentru scrierea aplicațiilor de calcul de înaltă performanță portabile. Oferă o interfață de programare care permite unui singur codebase sursă să fie executat atât pe arhitecturi GPU AMD, cât și NVIDIA. Proiectul funcționează ca un strat de compatibilitate care permite conversia și migrarea codului sursă CUDA existent pentru a rula pe hardware AMD. Acest lucru este realizat printr-o mapare a sintaxei care oglindește CUDA și un proces de traducere source-to-source în timpul compilării. Toolkit-ul acoperă suprafața mai largă a dezvoltării GPGPU cross-platform, inclusiv optimizarea calculului eterogen și crearea de kernel-uri portabile. Utilizează o abstractizare a runtime-ului pentru a mapa apelurile API unificate către bibliotecile de drivere specifice furnizorului pentru gestionarea memoriei și a kernel-ului.
Provides a C++ GPU kernel language for writing parallel compute kernels that target multiple hardware backends.
warp-ctc este o bibliotecă de înaltă performanță pentru calcularea pierderii de clasificare temporală conexionistă (CTC) pentru antrenarea modelelor de deep learning secvență-la-secvență. Oferă un strat de stabilitate numerică folosind calculul în spațiu logaritmic pentru a preveni subdepășirea (underflow) și erorile de precizie în timpul calculelor de probabilitate pentru secvențe lungi. Biblioteca utilizează nuclee accelerate hardware pentru a calcula pierderea în paralel pe arhitecturi CPU și GPU. Se concentrează pe creșterea throughput-ului de antrenare prin optimizarea pașilor de programare dinamică ai algoritmului CTC. Aceste capabilități susțin antrenarea modelelor pentru recunoașterea vorbirii, recunoașterea optică a caracterelor scrise de mână și maparea generală secvență-la-secvență. Proiectul include integrare pentru calcularea pierderii și antrenarea fără aliniere în TensorFlow.
Ships hardware-accelerated kernels that compute CTC loss in parallel across CPU and GPU architectures.
gpu.cpp este o bibliotecă C++ ușoară pentru executarea calculului GPU general-purpose de nivel scăzut pe diferite furnizori de hardware și sisteme de operare. Acesta funcționează ca un wrapper GPU portabil, orchestrator de kernel și sistem de gestionare a tensorilor folosind specificația WebGPU pentru a abstractiza inițializarea dispozitivului, transferurile de buffer și dispatching-ul compute shader-elor. Biblioteca oferă un framework pentru definirea compute kernel-urilor din codul shader și gestionarea dispatch-ului și sincronizării lor asincrone. Permite executarea compute shader-elor multi-platformă și orchestrarea sarcinilor GPU printr-o specificație standardizată a procesorului grafic. Sistemul gestionează întregul ciclu de viață al memoriei GPU, incluzând alocarea tensorilor multidimensionali, mișcarea bidirecțională a datelor între gazdă și dispozitiv prin staging buffers și urmărirea resurselor pentru a preveni scurgerile de memorie. De asemenea, suportă slicing-ul tensorilor pentru crearea de vizualizări non-owning ale segmentelor de memorie și include utilitare pentru logarea mesajelor de sistem și filtrarea severității.
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.