11 repositorios
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.
Este proyecto es una colección de implementaciones de referencia y benchmarks que demuestran el uso de la API de gráficos y computación Vulkan. Proporciona un conjunto de ejemplos multiplataforma y patrones de programación de GPU diseñados para renderizado de alto rendimiento y tareas aceleradas por hardware. El repositorio incluye una suite de benchmarks de rendimiento utilizados para medir el comportamiento de la API en diferentes entornos de hardware. Cuenta con una arquitectura modular que organiza los ejemplos de renderizado en unidades aisladas, junto con utilidades de línea de comandos para la ejecución por lotes de secuencias de muestra. El proyecto abarca varias áreas técnicas, incluyendo la gestión directa de memoria de GPU, perfilado de rendimiento en tiempo real para identificar cuellos de botella en el renderizado y pipelines de computación headless que capturan framebuffers sin necesidad de una pantalla física.
Offers practical code demonstrations for writing GPU kernels and compute tasks via low-level interfaces.
rust-cuda es un framework de programación GPU y compilador de dispositivos que permite el desarrollo y ejecución de kernels de alto rendimiento en hardware NVIDIA utilizando Rust. Proporciona un wrapper de driver para gestionar la asignación de memoria del dispositivo y el lanzamiento de kernels, sirviendo efectivamente como un sistema para escribir lógica de cómputo GPU sin depender de C++. El proyecto incluye una librería de cómputo con primitivas optimizadas por hardware para aceleración de redes neuronales y raytracing acelerado por hardware. Utiliza una cadena de herramientas de compilación que traduce el código fuente a una representación intermedia de bajo nivel para su ejecución en procesadores gráficos. El framework cubre la gestión de recursos del dispositivo, desarrollo de kernels y la simulación de operaciones de enteros de alta precisión. También soporta la generación de números aleatorios en el lado del dispositivo y optimizaciones de cómputo específicas para el objetivo. Imágenes de contenedor preconfiguradas están disponibles para simplificar el aprovisionamiento de la cadena de herramientas del compilador y el entorno de desarrollo a través de diferentes arquitecturas de hardware.
Provides a framework for writing and executing high-performance GPU kernels using Rust.
Este proyecto es un recurso educativo integral y un plan de estudios centrado en el diseño e implementación de todo el stack de software y hardware de aprendizaje automático. Sirve como referencia técnica para la arquitectura de sistemas de aprendizaje automático, abarcando desde interfaces de programación de bajo nivel hasta infraestructura de despliegue a gran escala. El proyecto proporciona orientación instructiva sobre varios dominios especializados, incluyendo el desarrollo de compiladores de IA a través de representaciones intermedias y optimizaciones de grafos. Cubre los patrones arquitectónicos necesarios para el entrenamiento distribuido a través de clústeres de GPU y la programación de aceleradores de hardware para optimizar cargas de trabajo en chips especializados. El recurso también detalla la implementación de frameworks de servicio de modelos para entornos de producción y el diseño de pipelines de aprendizaje por refuerzo. Su alcance se extiende a los componentes centrales de los sistemas de ML, como la diferenciación automática, abstracciones de tensores y la orquestación de recursos de GPU.
Teaches the implementation of high-performance kernels for specialized AI accelerators and NPUs.
HIP is a C++ GPU kernel language and cross-platform runtime designed for writing portable high-performance compute applications. It provides a programming interface that allows a single source codebase to execute on both AMD and NVIDIA GPU architectures. The project functions as a compatibility layer that enables the conversion and migration of existing CUDA source code to run on AMD hardware. This is achieved through a syntax mapping that mirrors CUDA and a source-to-source translation process during compilation. The toolkit covers the broader surface of cross-platform GPGPU development, in
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.