flashinfer-ai/flashinfer - Open Source PR Review Scorecard

FlashInfer: Kernel Library for LLM Serving

C-Rank Grade: A (Welcoming) - 65/100

External PR Merge Rate: 51%

Response Time: 14h

First Timer Success: 51%

Frequently Asked Questions

Is flashinfer-ai/flashinfer welcoming to first-time open-source contributors?

flashinfer-ai/flashinfer has a recorded first-timer success rate of 51.0%. Repositories ranked A typically provide actionable feedback during code reviews and actively nurture new community contributors.

How fast can I expect code review feedback on my pull request?

Maintainers in flashinfer-ai/flashinfer respond to incoming external pull requests in approximately 13.6 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 65.3 C-Rank™ score (A Tier) represent?

The C-Rank™ system evaluates GitHub projects on a 0–100 scale using real data: PR merge rates, review turnaround time, active maintainer presence, and first-time contributor success. A score of 65.3 places flashinfer-ai/flashinfer in the A tier.

What is the external contributor pull request merge rate for flashinfer-ai/flashinfer?

The external contributor pull request merge rate for flashinfer-ai/flashinfer is 51.1%, based on public PR activity from non-core contributors.

Are there Good First Issues available in flashinfer-ai/flashinfer?

flashinfer-ai/flashinfer currently has 5 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

flashinfer-ai
flashinfer-ai/flashinferA•Welcoming6.3k
GitHub
Back to Explorer
flashinfer-ai

flashinfer-ai/flashinfer

6,304
Active (30d)A•Welcoming(65/100)Python

FlashInfer: Kernel Library for LLM Serving

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Constructive Code Reviewer

Warmth Score
7.6/10
Patience Score
8.0/10
Nitpick Rate
30%

Balanced & professional review environment in flashinfer-ai/flashinfer. Maintains strict focus on technical quality and test standards.

Top PR Submission Do's

  • •Add unit tests with >80% coverage for modified code paths
  • •Use conventional commit messages and clean branch names
  • •Link relevant GitHub issue ID in PR description pre-flight checklist

Top PR Friction Pitfalls (Don'ts)

  • •Do not submit unlinked PRs without referencing an existing issue
  • •Do not mix refactoring and feature logic into a single commit
  • •Do not ping maintainers repeatedly within 24 hours of opening
Response Velocity
13 hours
Standard maintainer review cycle

Average Response Latency

Tracks hours until a maintainer leaves a review, comment, or PR response.

Merge Efficiency
51.1%
Moderate PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
51.0%
Strong first-timer PR acceptance rate

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
203 core
Highly collaborative maintainer core
Diagnostic Health HUD
51.1%
Merge Gauge
51.0%
1st-Timer
Community Vibe56/100

Embed C-Rank Badge

Show contributors that your repository actively reviews and merges external pull requests.

GetMerged C-Rank badge for flashinfer-ai/flashinfer
[![GetMerged C-Rank](https://getmerged.abhishekco.de/api/badge/flashinfer-ai/flashinfer)](https://getmerged.abhishekco.de/flashinfer-ai/flashinfer?utm_source=github&utm_medium=badge)

Active Good First Issues (5)

View on GitHub

Summary top_k_sampling_from_probs and min_p_sampling_from_probs validate their per-request parameter tensor against the input batch but index it by the output row. When indices is longer than probs.size(0), every output row at or past probs.size(0) reads past the end of the parameter tensor and silently samples with a garbage top_k / min_p. check_tensor_param(maybe_top_k_arr, probs) — csrc/sampling.cu:216 — requires top_k_arr.size(0) == probs.size(0), via csrc/sampling_utils.h:34. Same for min_p at csrc/sampling.cu:262. The kernels read top_k_arr[bx] and min_p_arr[bx], where bx is blockIdx.x, i.e. the output row. The sibling kernels get this right and index by the input row: top_p_arr[row_idx] in TopPSamplingFromProbKernel, and top_k_arr[row_idx] / top_p_arr[row_idx] in TopKTopPSamplingFromProbKernel. So only the two [bx] sites are wrong. Reproduction On a B200 (SM100), 4 input rows, 16 output rows via indices = arange(16) % 4, vocab 512. The parameter tensor is a length-4 view c

📅 Opened Oct 1, 2026💬 0 comments
Quality: 90/100Contribute

Summary The Blackwell sm12x fused-MoE path compiles all of its CuTe-DSL kernels through explicit cute.compile(...), which unconditionally disables the DSL's file cache. The only caching layer is three in-process Python dicts, so every engine start re-pays the full MLIR JIT cost for every kernel specialization it touches — measured at ~40 s for the dynamic kernel's first hit and ~15–18 s per small-m micro-kernel specialization. In a serving context (vLLM --moe-backend=flashinfer_b12x) these compiles land mid-request and freeze the whole engine (vllm#47458: ~17.5 s stop-the-world stalls, all in-flight requests frozen including mid-decode). CUTE_DSL_CACHE_DIR / CUTE_DSL_DISABLE_FILE_CACHING have no effect on this path — the gate that would consult them is short-circuited before they are read. Environment flashinfer 0.6.12, 0.6.13, and 0.6.15.post1 (all verified; moe_dispatch.py cache structure unchanged across them) nvidia-cutlass-dsl 4.5.0 and 4.6.0 (both verified) SM120: RTX 5070

📅 Opened Aug 2, 2026💬 10 comments
Quality: 80/100Contribute

Noticed by @bkryu : "In our recent CI telemetry, we have been seeing that tests/gdn/test_decode_delta_rule.py runs very long (30-50 mins on every arch) and has been straining our CI. TL;DR of the cause: the reference and kernels are all fine. Most time is spent on cold kernel compilation. On a B200 I locally see ~800 cases that collapses to ~200 cute.compile calls based on the cache key logic. For some kernels, B/tile_v/T/cache flags/pool-strides each key a new compile. Would be great if we can make the kernels batch and/or seqlen dynamic to systematically reduce unit testing time."

📅 Opened Jul 23, 2026💬 14 comments
Quality: 80/100Contribute

FlashInfer — DGX Spark (SM121) Current Support Audit Date: 2026-04-24 Scope: Audit of SM121 (compute capability 12.1, DGX Spark) support across FlashInfer ops, APIs, backends, and testing. Goal: Improve Spark usability on FlashInfer by identifying existing gaps. Note: skip to "15. Consolidated Action Items" for TLDR. Architecture Context Gencode Target CUDA Requirement compute_120a / sm_120a RTX 5090 (SM120) CUDA 12.8 compute_120f / sm_120f SM12x family (120 + 121) CUDA 12.9 compute_121a / sm_121a DGX Spark (SM121) CUDA 12.9 SM120 vs SM121: Implications for FlashInfer Per the CUDA 13.2 Programming Guide — Compute Capabilities (Tables 29–33), SM120 and SM121 share a single "12.x" spec column: identical shared memory (99 KB/block, 100 KB/SM), warps (48/SM), registers (64K/SM), tensor core data types (TF32, BF16, FP16, FP8, FP6, FP4, INT8), TMA, and cluster support. Table 28 confirms compute_120f is compatible with both CC 12.0 and 12.1. The chip-level differences (SM

📅 Opened Apr 24, 2026💬 25 comments
Quality: 45/100Contribute

The doc string of trtllm_fp4_block_scale_moe indicates that the hidden_states can be bf16 and the hidden_states_scale is optional. But running the reproducing script hits error if passing hidden_states as bf16 and hidden_states_scale as None: File "/sgl-workspace/sglang/repro)fp4.py", line 303, in <module> main() File "/sgl-workspace/sglang/reprofp4.py", line 227, in main fi_outputs = trtllm_fp4_block_scale_moe( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/flashinfer/fused_moe/core.py", line 2552, in trtllm_fp4_block_scale_moe return get_trtllm_moe_sm100_module().trtllm_fp4_block_scale_moe( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/flashinfer/fused_moe/core.py", line 1866, in trtllm_fp4_block_scale_moe_op intermediate_output = moe_op.trtllm_fp4_block_scale_moe( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "python/tvm_ffi/c

📅 Opened Feb 28, 2026💬 5 comments
Quality: 70/100Contribute
Looking for more Python beginner tasks?Explore Python GFI

Contributor Community Vibe Feedback

Rate what actually matters after opening a pull request here.

Have you contributed to this repo?

Rate your first-hand PR experience (review speed, maintainer responsiveness, and onboarding ease) to help other contributors.

3 ratings required
Maintainer helpfulness
Review speed
Beginner friendliness

Contributor Compatibility & Review Speed Analysis for flashinfer-ai/flashinfer

When evaluating whether to contribute to flashinfer-ai/flashinfer, response velocity and maintainer engagement are crucial. GetMerged continuously tracks pull request trajectories, first-comment latency, and code review rounds to help developers avoid submitting pull requests to backlogged repositories.

Currently, maintainers of flashinfer-ai/flashinfer acknowledge new external contributions in approximately 13 hours. Out of all submitted pull requests from non-core authors in the last 180-day window, 51.1% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to flashinfer-ai/flashinfer

01

Is flashinfer-ai/flashinfer welcoming to first-time open-source contributors?

flashinfer-ai/flashinfer has a recorded first-timer success rate of 51.0%. Repositories ranked Welcoming typically provide actionable feedback during code reviews and actively nurture new community contributors.

02

How fast can I expect code review feedback on my pull request?

The initial maintainer response time averages ~13 hours. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 65.3 C-Rank™ score represent?

The C-Rank™ index scores repositories on a 0 to 100 scale using an objective formula: external PR merge rates, initial response speed, active maintainer count, and first-time contributor retention. A score of 65.3 places flashinfer-ai/flashinfer in the Welcoming tier.

04

What is the external contributor pull request merge rate for flashinfer-ai/flashinfer?

The external pull request merge rate is 51.1%. GetMerged isolates non-core community contributions so external developers get an accurate benchmark of PR acceptance probability.

05

Are there beginner Good First Issues open in flashinfer-ai/flashinfer?

Yes, flashinfer-ai/flashinfer currently has 5 active issue(s) tagged with beginner-friendly labels. You can inspect these directly from the repository issues tab.

GetMerged C-Rank™ Indexing Standard

All metrics displayed for flashinfer-ai/flashinfer are automatically retrieved via the public GitHub API and recalculated daily. Insider pull requests submitted by repository owners or organization members are excluded from merge rate calculations to preserve objective external contributor statistics.