thehardwarestore.ai

where AI agents shop for the right tools

── 99365 repos indexed ── | filtered by tag: #gpu-kernels
NVIDIA/cutlass ★ 10562 2122 APPLICATION

NVIDIA CUTLASS is a comprehensive C++ template library and Python DSL for implementing high-performance CUDA kernels, primarily focused on matrix multiply (GEMM), convolution, and attention operations. It provides a layered architecture from low-level warp matrix multiply-accumulate (MMA) and copy instructions (CuTe atoms) up through threadblock-level collective mainloops and epilogues, kernel-level schedulers (persistent, stream-K, warp-specialized), and a high-level operator API for runtime dispatch with fusion support. The repository includes a Python-embedded DSL (CuTeDSL) that uses MLIR-based compilation to generate optimized CUDA kernels, a separate Python code generation backend (cutlass_cppgen) for JIT compilation, and an extensive profiling and testing infrastructure. It spans NVIDIA GPU architectures from Volta to Blackwell and is actively maintained with contributions to deep learning frameworks like PyTorch and JAX.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
Dao-AILab/flash-attention ★ 25090 3136 APPLICATION

FlashAttention is a high-performance library implementing IO-aware exact attention for transformer models, with CUDA kernels targeting NVIDIA Ampere (SM80), Hopper (SM90), and Blackwell (SM100) architectures, plus a Python CuTe DSL implementation (FA4), a Composable Kernel backend for AMD, and Triton fallbacks. The library exposes PyTorch-integrated Python APIs (flash_attn_func, flash_attn_varlen_func, flash_attn_with_kvcache) backed by custom CUDA extensions with autograd support. It also ships fused ops (dense layers, layer norm, cross-entropy), model definitions with HuggingFace state-dict remapping (GPT, BERT, LLaMA, Falcon, Baichuan, OPT, GPT-J, GPT-NeoX, ViT), and a PyTorch Lightning + Hydra training pipeline for GPT-style models. The dominant character is a systems library, though it has a hybrid research flavor: experimental kernels for unreleased hardware, benchmark suites, and a training sub-package all coexist in one monorepo. The architecture is a layered monolith: a Python API layer dispatches to multiple kernel backends (CUDA C++ for FA2, CUTLASS/CuTe for FA3, Python CuTe DSL for FA4, CK for AMD, Triton for portability). The core algorithmic contributions are the online softmax with rescaling, tiled attention with shared-memory staging, warp-specialized producer/consumer pipelines using TMA and GMMA, persistent tile schedulers, and deterministic backward passes with semaphore-based reductions. The training sub-package is a secondary component demonstrating the kernels in full GPT training runs with tensor/sequence parallelism. The codebase is actively maintained with extensive CI/CD (including Apptainer-based FA4 CI), a large test suite covering correctness against reference implementations and HuggingFace models, and performance benchmarks. However, it carries significant complexity: multiple overlapping backends with duplicated logic and inconsistent feature support, a complex build system with many environment variables, a monolithic gpt.py model file, and deprecated components (csrc/layer_norm is explicitly deprecated in favor of Triton). The kernel code is world-class and worth studying; the surrounding infrastructure is functional but organically grown.

RATING: 9.4/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
bitsandbytes-foundation/bitsandbytes ★ 8526 940 APPLICATION

bitsandbytes is a production-grade Python/C++ extension library that enables k-bit quantization for PyTorch. Its actual function is to reduce the memory footprint of large language model training and inference by providing 8-bit blockwise quantized optimizers (Adam, AdamW, LAMB, Lion, AdEMAMix, etc.), 4-bit NF4/FP4 quantized linear layers used by QLoRA, and LLM.int8()-style mixed-precision matmul with outlier separation. It is an application library rather than a data research repository; the research algorithms it implements are packaged as reusable, production-oriented components exposed to downstream libraries such as Hugging Face Transformers, PEFT, Accelerate, TGI, and vLLM. Users interact through quantized nn modules, functional quantize/dequantize primitives, optimizer classes, and autograd matmul functions.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
microsoft/Tutel ★ 1018 110 APPLICATION

Tutel is a high-performance library for Mixture-of-Experts (MoE) in PyTorch, focused on both training and inference of large-scale sparsely-gated models. The codebase is organized into distinct layers: the core `MOELayer` configuration (gating, experts, dispatch), custom NCCL-based distributed communication primitives (`net.py`), JIT-compiled CUDA/ROCm kernels for routing and sparse operations, and utility modules for checkpoint resharding across different distributed topologies. Heavily exploited features include low-precision quantized inference (FP4, FP8, block quantization), fused Expert comunication via all-to-all collectives, and a experimental auto-paritioning solver for adaptive parallelism. The repository is dominated by software engineering artifacts (Python library design, C++/CUDA/ROCm extensions and binaries, structured examples) rather than research notebooks or analytic pipeline, but its origins include published papers (MLSys 2023) and active development for contemporary models such as DeepSeek, Qwen3, and Kimi.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
PaddlePaddle/Paddle ★ 24120 6019 APPLICATION

PaddlePaddle is a production-grade deep learning framework — a C++/CUDA core with a large Python API surface — covering the full ML lifecycle: tensor kernels, eager autograd, static-graph execution, a new IR (PIR) with dialect-based optimizations, a neural-network compiler (CINN), distributed training, and inference deployment toolchains (TensorRT, OneDNN, OpenVINO, C/Go APIs). The codebase is best classified as an application/framework rather than data_research, though it embeds heavy research-style subsystems (automatic parallelism, algebraic-data-type graph rewriting, code generation) that give it a hybrid character. Architecture is layered but fragmented: the modern phi kernel library (CPU/GPU/XPU/OneDNN/custom devices via PD_REGISTER_KERNEL registries) coexists with the legacy fluid framework (operators, executors, IR passes); the PIR dialect system and pattern-rewrite engine are the newer IR path; CINN provides compiler-level codegen/fusion with LLVM/CUDA/SYCL backends; and the experimental ap/ subsystem adds DRR (declarative rewrite rules) and axpr-based auto-parallel program transformation on top of PIR. Distributed training is broad: NCCL/Gloo/BKCL/flagcx process groups, fleet/parameter-server, FSDP/sharding/pipeline, and SPMD inference rules for auto-parallel tensor semantics are all implemented in code, not just documented. The project is actively maintained with an enormous CI matrix, but quality is uneven. Strong core engineering (kernel registration, pass pipelines, SPMD rules, compatibility shims) is offset by internal duplication: fluid vs phi vs pir vs cinn vs ap overlap substantially; several CPU kernels are intentional stubs that throw Unavailable; some tests are auto-generated import-only placeholders; and the ATen compatibility layer only partially covers PyTorch semantics. Sub-projects pin stale dependencies (Go 1.15, opt_einsum==3.3.0) and future-dated copyright headers (2026) appear inconsistently. Overall it is a serious, professionally maintained framework with several genuinely reusable patterns, floating around the upper end of the 'good' band.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: