12 dépôts
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 est un compilateur de deep learning ahead-of-time qui traduit les réseaux de neurones PyTorch en code source C++ autonome. Il fonctionne comme un compilateur PyTorch vers C++ et un moteur de fusion de noyaux GPU, produisant des binaires exécutables autonomes qui exécutent l'inférence sans nécessiter d'interpréteur Python ou de runtime de framework de deep learning. Le projet génère du code CUDA et HIP C++ optimisé spécifiquement pour les NVIDIA TensorCores et AMD MatrixCores. Il se concentre sur la maximisation du débit pour les opérations en virgule flottante demi-précision via un système qui combine plusieurs opérateurs de réseau de neurones en noyaux GPU uniques pour minimiser la surcharge mémoire et la latence. La boîte à outils couvre l'accélération de l'inférence GPU et le calcul haute performance, fournissant des capacités pour le développement d'opérateurs GPU personnalisés et le mappage de nœuds de graphe vers des modèles spécifiques au matériel. Elle inclut un support utilitaire pour le benchmarking des performances d'inférence et la visualisation des optimisations de modèle.
Combines multiple neural network operators into single GPU kernels to minimize memory overhead and latency.
TNN est un framework d'inférence de deep learning conçu pour exécuter des réseaux de neurones pré-entraînés sur du matériel mobile, de bureau et serveur. Il fonctionne comme un runtime accéléré par le matériel et une boîte à outils de compression de modèles, fournissant une interface unifiée pour déployer des modèles dans divers environnements. Le framework inclut un convertisseur de modèles ONNX pour transformer les modèles provenant de divers frameworks d'entraînement en un format interne standardisé. Il se distingue par une combinaison d'outils de compression de modèles — incluant la quantification des poids et l'élagage de code statique — et un système de gestion de la mémoire qui réutilise les tampons entre les nœuds non dépendants pour réduire l'utilisation de la RAM. Le système optimise les performances via la fusion d'opérateurs pour minimiser l'accès à la mémoire et utilise des backends spécifiques à la plateforme pour tirer parti des processeurs spécialisés et des GPU. Il augmente encore la vitesse d'exécution grâce à des calculs en basse précision et un réglage spécifique au matériel.
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 est un framework probabiliste accéléré par GPU et une bibliothèque PyTorch pour implémenter des modèles de processus gaussiens évolutifs. Il fournit un système pour la modélisation par processus gaussiens et l'estimation de l'incertitude, conçu pour effectuer des opérations matricielles efficaces sur le matériel graphique. Le framework dispose d'un système de noyau modulaire pour construire des fonctions de covariance personnalisées et modéliser des dépendances de données complexes. Il intègre spécifiquement les processus gaussiens avec des réseaux de neurones profonds pour créer des modèles hybrides pour la régression et la classification. Le système emploie des techniques d'algèbre linéaire numérique, incluant des gradients conjugués préconditionnés et des opérations basées sur des tenseurs, pour gérer de grands jeux de données. Il prend également en charge l'inférence variationnelle boîte noire et la différenciation automatique pour l'optimisation des hyperparamètres.
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.