Skip to content

Commit 6f3449d

Browse files
authored
Merge branch 'main' into vchen/dg_swapab_linear
2 parents 364ee70 + 0aee7af commit 6f3449d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+5544
-1092
lines changed

.github/CODEOWNERS

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
# Analysis period: 180 days
44
# Minimum commits threshold: 1
55

6-
benchmarks/ @bkryu @cyx-6 @yzh119 @jiahanc @nv-yunzheq
7-
benchmarks/routines/ @bkryu @nv-yunzheq @cyx-6 @nvmbreughe @Anerudhan
6+
benchmarks/ @bkryu @jiahanc @cyx-6 @yzh119 @nv-yunzheq
7+
benchmarks/routines/ @bkryu @nv-yunzheq @jiahanc @cyx-6 @nvmbreughe
88
ci/ @cyx-6 @yzh119 @nvmbreughe
99
ci/scripts/ @cyx-6
1010
ci/scripts/jenkins/ @cyx-6
@@ -17,7 +17,7 @@ csrc/nv_internal/include/ @wenscarl @nv-yunzheq
1717
csrc/nv_internal/tensorrt_llm/ @wenscarl @djmmoss @nv-yunzheq @yongwww @cyx-6
1818
csrc/xqa/ @cyx-6 @yzh119
1919
docs/ @yzh119 @cyx-6 @wenscarl @nv-yunzheq @aleozlx
20-
flashinfer/ @yzh119 @cyx-6 @nvmbreughe @wenscarl @jiahanc
20+
flashinfer/ @yzh119 @cyx-6 @nvmbreughe @aleozlx @wenscarl
2121
flashinfer-cubin/ @yzh119 @cyx-6
2222
flashinfer-cubin/flashinfer_cubin/ @yzh119
2323
flashinfer-jit-cache/ @yzh119 @cyx-6
@@ -26,20 +26,20 @@ flashinfer/comm/ @yzh119 @cyx-6 @nvmbreughe @wenscarl @djmmoss
2626
flashinfer/cudnn/ @Anerudhan @yzh119 @cyx-6 @Anerudhan
2727
flashinfer/cute_dsl/ @yzh119 @kaixih @Amir-19 @aleozlx
2828
flashinfer/dsv3_ops/ @nvmbreughe
29-
flashinfer/fused_moe/ @djmmoss @yzh119 @cyx-6 @jiahanc @wenscarl
29+
flashinfer/fused_moe/ @djmmoss @jiahanc @yzh119 @cyx-6 @aleozlx
3030
flashinfer/gemm/ @nvmbreughe
31-
flashinfer/jit/ @yzh119 @cyx-6 @jiahanc @nvmbreughe @nv-yunzheq
31+
flashinfer/jit/ @yzh119 @cyx-6 @aleozlx @jiahanc @nvmbreughe
3232
flashinfer/jit/attention/ @yzh119 @cyx-6 @Anerudhan @joker-eph
3333
flashinfer/jit/gemm/ @yzh119 @nv-yunzheq @jiahanc
3434
flashinfer/logits_processor/ @cyx-6 @yzh119
3535
flashinfer/profiler/ @cyx-6
3636
flashinfer/triton/ @nvmbreughe @cyx-6
3737
flashinfer/tuning_configs/ @kaixih
38-
include/ @yzh119 @jiahanc @nvmbreughe @bkryu @wenscarl
39-
include/flashinfer/ @yzh119 @jiahanc @nvmbreughe @bkryu @wenscarl
38+
include/ @yzh119 @jiahanc @nvmbreughe @IwakuraRein @bkryu
39+
include/flashinfer/ @yzh119 @jiahanc @nvmbreughe @IwakuraRein @bkryu
4040
include/flashinfer/attention/ @yzh119 @kahyunnam @joker-eph
4141
include/flashinfer/comm/ @yongwww @nvmbreughe @djmmoss @yzh119 @cyx-6
42-
include/flashinfer/gemm/ @ttyio @yongwww @nvmbreughe @aleozlx
43-
include/flashinfer/trtllm/ @jiahanc @joker-eph @aleozlx @yzh119 @cyx-6
42+
include/flashinfer/gemm/ @ttyio @yongwww @yzh119 @nvmbreughe @aleozlx
43+
include/flashinfer/trtllm/ @jiahanc @joker-eph @aleozlx @yzh119 @wenscarl
4444
profiler/ @cyx-6
4545
scripts/ @yzh119 @nvmbreughe @dierksen @yongwww @bkryu

README.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ Kernel Library for LLM Serving
1515
[![Build Status](https://ci.tlcpack.ai/job/flashinfer-ci/job/main/badge/icon)](https://ci.tlcpack.ai/job/flashinfer-ci/job/main/)
1616
[![Documentation](https://github.com/flashinfer-ai/flashinfer/actions/workflows/build-doc.yml/badge.svg)](https://github.com/flashinfer-ai/flashinfer/actions/workflows/build-doc.yml)
1717

18-
1918
FlashInfer is a library and kernel generator for Large Language Models that provides high-performance implementation of LLM GPU kernels such as FlashAttention, SparseAttention, PageAttention, Sampling, and more. FlashInfer focuses on LLM serving and inference, and delivers state-of-the-art performance across diverse scenarios.
2019

2120
Check our [v0.2 release blog](https://flashinfer.ai/2024/12/16/flashinfer-v02-release.html) for new features!
2221

2322
The core features of FlashInfer include:
23+
2424
1. **Efficient Sparse/Dense Attention Kernels**: Efficient single/batch attention for sparse(paged)/dense KV-storage on CUDA Cores and Tensor Cores (both FA2 & FA3) templates. The vector-sparse attention can achieve 90% of the bandwidth of dense kernels with same problem size.
2525
2. **Load-Balanced Scheduling**: FlashInfer decouples `plan`/`run` stage of attention computation where we schedule the computation of variable-length inputs in `plan` stage to alleviate load-imbalance issue.
2626
3. **Memory Efficiency**: FlashInfer offers [Cascade Attention](https://docs.flashinfer.ai/api/cascade.html#flashinfer.cascade.MultiLevelCascadeAttentionWrapper) for hierarchical KV-Cache, and implements Head-Query fusion for accelerating Grouped-Query Attention, and efficient kernels for low-precision attention and fused-RoPE attention for compressed KV-Cache.
@@ -31,6 +31,7 @@ The core features of FlashInfer include:
3131
FlashInfer supports PyTorch, TVM and C++ (header-only) APIs, and can be easily integrated into existing projects.
3232

3333
## News
34+
3435
- [Mar 10, 2025] [Blog Post](https://flashinfer.ai/2025/03/10/sampling.html) Sorting-Free GPU Kernels for LLM Sampling, which explains the design of sampling kernels in FlashInfer.
3536
- [Mar 1, 2025] Checkout flashinfer's [intra-kernel profiler](https://github.com/flashinfer-ai/flashinfer/tree/main/profiler) for visualizing the timeline of each threadblock in GPU kernels.
3637
- [Dec 16, 2024] [Blog Post](https://flashinfer.ai/2024/12/16/flashinfer-v02-release.html) FlashInfer 0.2 - Efficient and Customizable Kernels for LLM Inference Serving
@@ -51,11 +52,13 @@ pip install flashinfer-python
5152
```
5253

5354
**Package Options:**
55+
5456
- **flashinfer-python**: Core package that compiles/downloads kernels on first use
5557
- **flashinfer-cubin**: Pre-compiled kernel binaries for all supported GPU architectures
5658
- **flashinfer-jit-cache**: Pre-built kernel cache for specific CUDA versions
5759

5860
**For faster initialization and offline usage**, install the optional packages to have most kernels pre-compiled:
61+
5962
```bash
6063
pip install flashinfer-python flashinfer-cubin
6164
# JIT cache package (replace cu129 with your CUDA version: cu128, cu129, or cu130)
@@ -75,22 +78,25 @@ python -m pip install -v .
7578
```
7679

7780
**For development**, install in editable mode:
81+
7882
```bash
7983
python -m pip install --no-build-isolation -e . -v
8084
```
8185

8286
**Build optional packages:**
8387

8488
`flashinfer-cubin`:
89+
8590
```bash
8691
cd flashinfer-cubin
8792
python -m build --no-isolation --wheel
8893
python -m pip install dist/*.whl
8994
```
9095

9196
`flashinfer-jit-cache` (customize `FLASHINFER_CUDA_ARCH_LIST` for your target GPUs):
97+
9298
```bash
93-
export FLASHINFER_CUDA_ARCH_LIST="7.5 8.0 8.9 10.0a 10.3a 11.0a 12.0f"
99+
export FLASHINFER_CUDA_ARCH_LIST="7.5 8.0 8.9 9.0a 10.0a 10.3a 11.0a 12.0f"
94100
cd flashinfer-jit-cache
95101
python -m build --no-isolation --wheel
96102
python -m pip install dist/*.whl
@@ -120,6 +126,7 @@ flashinfer show-config
120126
```
121127

122128
This command displays:
129+
123130
- FlashInfer version and installed packages (flashinfer-python, flashinfer-cubin, flashinfer-jit-cache)
124131
- PyTorch and CUDA version information
125132
- Environment variables and artifact paths
@@ -173,6 +180,7 @@ FlashInfer currently provides support for NVIDIA SM architectures 75 and higher
173180
## Adoption
174181

175182
We are thrilled to share that FlashInfer is being adopted by many cutting-edge projects, including but not limited to:
183+
176184
- [MLC-LLM](https://github.com/mlc-ai/mlc-llm)
177185
- [Punica](https://github.com/punica-ai/punica)
178186
- [SGLang](https://github.com/sgl-project/sglang)

0 commit comments

Comments
 (0)