8 个仓库
Compiles GPU source code to CUDA target-specific code with configurable options.
Distinct from JIT Kernel Compilers: Distinct from JIT Kernel Compilers: specifically targets NVIDIA CUDA compilation with configurable architectures.
Explore 8 awesome GitHub repositories matching programming languages & runtimes · CUDA Kernel Compilers. Refine with filters or upvote what's useful.
Material for gpu-mode lectures
Provides interactive Jupyter notebooks for practicing GPU kernel writing and optimization techniques from expert-led sessions.
rust-cuda 是一个 GPU 编程框架和设备编译器,允许使用 Rust 在 NVIDIA 硬件上开发和执行高性能内核。它提供了一个驱动程序包装器来管理设备内存分配和内核启动,有效地作为一个无需依赖 C++ 即可编写 GPU 计算逻辑的系统。 该项目包含一个计算库,其中包含用于神经网络加速和硬件加速光线追踪的硬件优化原语。它利用一个编译工具链,将源代码转换为用于在图形处理器上执行的低级中间表示。 该框架涵盖了设备资源管理、内核开发以及高精度整数运算的模拟。它还支持设备端随机数生成和特定目标的计算优化。 提供预配置的容器镜像,以简化跨不同硬件架构的编译器工具链和开发环境的配置。
Compiles GPU source code into target-specific CUDA kernels with a Rust interface.
TileLang is a Python-embedded domain-specific language compiler that JIT-compiles and autotunes GPU kernels. It uses a tile-based DSL, automatic software pipelining, and parallel autotuning to generate optimized GPU kernels at runtime. It supports tensor core operations with Pythonic syntax, automatic memory management, and thread mapping. The compiler searches over tile sizes, thread counts, and scheduling policies, compiling and benchmarking candidates in parallel to find the fastest kernel. It also caches compiled binaries and tuning results to disk for reuse across sessions. TileLang inc
Compiles GPU kernels to CUDA device binaries with configurable architecture options.
FlashInfer is a library of high-performance GPU kernels purpose-built for accelerating large language model inference. It provides optimized implementations for attention operations (including flash attention, page attention, multi-head latent attention, and cascade attention) using paged key-value caches, fused kernel composition, and just-in-time compilation. The library also includes specialized kernels for mixture-of-experts layers, block-scaled low-precision quantization (FP8, FP4), and distributed collective communication. What distinguishes FlashInfer is its fused all-reduce communicat
This GPU kernel library generates and compiles high-performance CUDA kernels tailored to specific language model operators and hardware.
gsplat is a high-performance differentiable rasterization engine for 3D Gaussian splatting, designed for real-time novel view synthesis from 2D images. It provides a complete pipeline for reconstructing 3D scenes by optimizing differentiable Gaussian representations, training models from COLMAP-processed captures or proprietary device files, and generating new viewpoints through a CUDA-accelerated rendering backend. The framework distinguishes itself through memory-optimized CUDA kernels that reduce training memory usage by up to 4x compared to standard implementations while matching publishe
Ships memory-optimized CUDA kernels that cut training memory usage by up to 4x versus standard implementations.
HIP 是一种 C++ GPU 内核语言和跨平台运行时,专为编写可移植的高性能计算应用而设计。它提供了一个编程接口,允许单个源代码库在 AMD 和 NVIDIA GPU 架构上执行。 该项目作为兼容层,实现了现有 CUDA 源代码的转换和迁移,以在 AMD 硬件上运行。这是通过镜像 CUDA 的语法映射和编译过程中的源到源翻译来实现的。 该工具包涵盖了更广泛的跨平台 GPGPU 开发领域,包括异构计算优化和可移植内核的创建。它利用运行时抽象将统一 API 调用映射到特定于供应商的驱动程序库,以进行内存和内核管理。
Implements a language grammar that mirrors NVIDIA CUDA to simplify the porting of GPU kernels.
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
Transpiles specialized syntax to CUDA C++ for graphics hardware compute kernels.
This project is a CUDA programming course and technical guide focused on writing and optimizing GPU kernels for hardware acceleration. It provides structured learning resources for using the CUDA platform to execute operations on silicon architectures. The material covers the optimization of linear algebra kernels and the analysis of machine learning deployment. It includes guidance on identifying acceleration tools, mapping the deep learning ecosystem, and evaluating the frameworks used to move models from research to production environments. The scope extends to GPU performance optimizatio
Covers the use of NVCC to translate CUDA source code into PTX assembly and machine code.