12 repositorios
Modular systems for designing and composing GPU kernels with tunable parameters.
Distinct from GPU Kernel Implementations: Focuses on the structural framework for composition rather than just the implementation of a specific kernel.
Explore 12 awesome GitHub repositories matching artificial intelligence & ml · Kernel Composition Frameworks. Refine with filters or upvote what's useful.
xformers is a collection of specialized toolsets for fused GPU operators, sparse attention mechanisms, modular transformer components, and performance benchmarking. It provides a library of optimized and interoperable building blocks used to construct and experiment with transformer architectures. The project features a fused CUDA operator library that combines common layers into single GPU operations to increase throughput. It includes a sparse attention framework and memory-efficient attention kernels that utilize tiling strategies and structured sparsity patterns to reduce computational ov
Provides a library of pre-optimized fused GPU kernels combining common layers like softmax and linear operations.
Cutlass is a collection of C++ templates and Python interfaces for implementing high-performance linear algebra operations on NVIDIA GPUs. It provides a kernel composition framework for designing custom GPU kernels and a mixed-precision tensor library capable of executing operations across diverse data formats, ranging from 64-bit floating point to 4-bit integers. The project features a toolkit for operator fusion that integrates activation functions and bias calculations directly into matrix multiplication kernels to reduce memory passes. It also includes a Python-based domain-specific langu
Provides a modular software hierarchy for composing specialized GPU kernels by tuning tiling sizes and data types.
Apex is a high-performance toolkit for PyTorch designed to coordinate distributed training, execute fused GPU kernels, manage mixed precision, and implement optimized distributed optimizers. It provides specialized tools for scaling model training across multiple GPUs and nodes to increase processing speed and throughput. The library features high-performance implementations of Adam and LAMB optimizers to reduce synchronization overhead and memory bottlenecks. It utilizes fused CUDA kernels to combine neural network operations, reducing memory overhead and increasing execution speed. The too
Combines multiple mathematical operations into single GPU kernels to reduce memory traffic and increase throughput.
Flash Linear Attention is a training framework and inference engine for sequence models that use linear attention and state space mechanisms, designed to process long contexts with reduced memory and compute overhead. It provides hardware-optimized token mixing layers and fused CUDA kernels that minimize memory bandwidth and launch overhead across different GPU architectures, and includes a causal inference engine that generates text token-by-token using cached hidden states for efficient autoregressive decoding. The project supports building hybrid sequence models that interleave standard at
Provides fused CUDA kernels that combine multiple neural operations into single GPU kernels to reduce memory bandwidth and launch overhead.
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
Ships fused GPU kernels that combine normalization, all-reduce, and quantization into single operations to reduce memory bandwidth and latency.
AITemplate es un compilador de aprendizaje profundo ahead-of-time que traduce redes neuronales de PyTorch a código fuente C++ independiente. Funciona como un compilador de PyTorch a C++ y un motor de fusión de kernels de GPU, produciendo binarios ejecutables autocontenidos que ejecutan inferencia sin requerir un intérprete de Python o un runtime de framework de aprendizaje profundo. El proyecto genera código CUDA y HIP C++ optimizado específicamente para NVIDIA TensorCores y AMD MatrixCores. Se centra en maximizar el rendimiento para operaciones de punto flotante de media precisión a través de un sistema que combina múltiples operadores de redes neuronales en kernels de GPU únicos para minimizar la sobrecarga de memoria y la latencia. El conjunto de herramientas cubre la aceleración de inferencia en GPU y computación de alto rendimiento, proporcionando capacidades para el desarrollo de operadores de GPU personalizados y el mapeo de nodos de grafos a plantillas específicas de hardware. Incluye soporte de utilidades para realizar benchmarking del rendimiento de inferencia y visualizar optimizaciones de modelos.
Combines multiple neural network operators into single GPU kernels to minimize memory overhead and latency.
TNN es un framework de inferencia de deep learning diseñado para ejecutar redes neuronales preentrenadas en hardware móvil, de escritorio y servidor. Funciona como un runtime acelerado por hardware y un kit de herramientas de compresión de modelos, proporcionando una interfaz unificada para desplegar modelos en diversos entornos. El framework incluye un convertidor de modelos ONNX para transformar modelos de varios frameworks de entrenamiento a un formato interno estandarizado. Se distingue por una combinación de herramientas de compresión de modelos —incluyendo cuantización de pesos y poda de código estático— y un sistema de gestión de memoria que reutiliza buffers entre nodos no dependientes para reducir el uso de RAM. El sistema optimiza el rendimiento mediante la fusión de operadores para minimizar el acceso a la memoria y emplea backends específicos de plataforma para aprovechar procesadores especializados y GPUs. Aumenta aún más la velocidad de ejecución mediante cálculos de baja precisión y ajustes específicos de hardware.
Combines multiple neural network layers into single kernels to minimize memory access and startup overhead.
This project is a high-performance C++ and CUDA neural network library designed for fast training and inference of small networks on NVIDIA GPUs. It serves as a specialized backend for neural radiance fields and coordinate-based networks, providing a fused GPU kernel library and a hash grid encoder for transforming raw input dimensions into high-dimensional representations. The library distinguishes itself through the use of C++ template metaprogramming and fused-kernel execution, which merge neural network layers into single GPU device functions to eliminate memory bottlenecks. It leverages
Provides fused GPU kernels that merge neural network layers into single device functions for high throughput.
CTranslate2 is a C++ inference engine and runtime for Transformer models, designed to execute models on both CPU and GPU with optimizations for speed and memory efficiency. It functions as a model format converter, quantization tool, and REST API server, enabling deployment of neural machine translation, automatic speech recognition, and text generation models. The engine distinguishes itself through a suite of runtime optimizations including layer fusion, weight-matrix quantization, batch-by-length grouping, and a caching allocator that reuses GPU memory. It supports tensor-parallel model di
Combines adjacent neural network layers into single fused operations to reduce memory bandwidth and kernel launch overhead.
GPyTorch is a GPU-accelerated probabilistic framework and PyTorch library for implementing scalable Gaussian process models. It provides a system for Gaussian process modeling and uncertainty estimation, designed to perform efficient matrix operations on graphics hardware. The framework features a modular kernel system for constructing custom covariance functions and modeling complex data dependencies. It specifically integrates Gaussian processes with deep neural networks to create hybrid models for regression and classification. The system employs numerical linear algebra techniques, inclu
Allows the construction of complex covariance structures by combining simple kernels through addition and multiplication.
Open-Instruct is a distributed training and instruction tuning framework for large language models. It functions as a coordinator for supervised fine-tuning, reinforcement learning from human feedback pipelines, and tool-use training, providing specialized roles for dataset curation and model alignment. The project distinguishes itself through a high-performance training architecture that utilizes actor-based distributed coordination and hybrid sharding to manage large GPU clusters. It implements advanced alignment techniques including direct preference optimization, group relative policy opt
Implements fused GPU kernels to maximize throughput during supervised fine-tuning and reward model training.
ComfyUI-nunchaku is a 4-bit diffusion inference engine and a set of nodes for running low-precision quantized diffusion models within ComfyUI visual workflows. It provides a backend that reduces memory overhead and increases generation speed for transformer models. The project includes specialized tools for identity-preserving generation and an image-to-image guidance toolkit that uses depth maps and reference images. It also features a multimodal visual question answering implementation and a utility for merging multiple quantized model files into single unified files. The engine covers a b
Accelerates inference by combining projections and rotations into single optimized kernels within transformer layers.