FlashInfer: Kernel Library for LLM Serving
This report presents the forensic synthetic code analysis of flashinfer-ai/flashinfer, a Python project with 5,957 GitHub stars. SynthScan v2.0 examined 667,312 lines of code across 1440 source files, recording 7735 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 20.0 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 7735 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | csrc/fused_moe/monomoe/src/ptx_utils.h | 14 | // ── Hopper WGMMA (sm_90a) helpers ───────────────────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/ptx_utils.h | 175 | // ── Hopper mbarrier helpers (sm_90a) ────────────────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/ptx_utils.h | 321 | // ── Hopper TMA bulk-tensor copy (sm_90a) ────────────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_tma.h | 214 | // ─── Device-side TMA load helpers ──────────────────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_tma.h | 437 | // ─── Down-projection (Phase 4) TMA load helpers ────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 19 | // ── Default pipeline variants ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 66 | // ── KernelConfig accessors ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 106 | // ── WGMMA-path-only up-proj → down-proj scratchpad ─────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 182 | // ── Block-wise quantization detection (forward declaration) ────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 224 | // ── WGMMA opt-in detection ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 235 | // ── TMA opt-in detection ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 262 | // ── WGMMA-only tile dimensions (v1 dual-WG K=128 streaming) ────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 354 | // ── WGMMA down-projection grid layout ──────────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 491 | // ── K-substep constants ──────────────────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 548 | // ── NEW: single-buffer fp8_act covering all K substeps ────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 744 | // ── TMA-only extensions ───────────────────────────────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 789 | // ── routing-window mbarrier ───────────────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 806 | // ── Phase 3 → Phase 4 (expert, token) reorganization tables ───── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 884 | // ── Routing-time inverse map: (expert id, token) → top-k rank ──────── | COMMENT |
| MEDIUM | csrc/fused_moe/monomoe/src/moe_internal.h | 941 | // ── Aliasing safety static_asserts ───────────────── | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 745 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 747 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1263 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1265 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1384 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1386 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1460 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1462 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1492 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1494 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1895 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1897 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1941 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 1943 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 2011 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 2013 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 2071 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 2073 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 2173 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 2175 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 2184 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 2186 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 2256 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/kda/test_recurrent_kda.py | 2258 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 36 | # ============================================================================== | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 38 | # ============================================================================== | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 106 | # ============================================================================== | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 108 | # ============================================================================== | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 127 | # ============================================================================== | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 129 | # ============================================================================== | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 506 | # ============================================================================== | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 508 | # ============================================================================== | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 900 | # ============================================================================== | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 902 | # ============================================================================== | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 1062 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 1064 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 1165 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 1167 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 2107 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/kda/test_recurrent_kda.py | 2109 | # ------------------------------------------------------------------------------ | COMMENT |
| 1989 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | build_backend.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/attention/test_batch_prefill_kernels.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/attention/test_alibi.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/attention/test_batch_decode_kernels.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/attention/test_shared_prefix_kernels.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/attention/test_decode_fp8_calibration_scale.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/attention/test_deepseek_mla.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/utils/test_pod_kernels.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/test_helpers/jit_utils.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | benchmarks/routines/__init__.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer/version.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer/pod.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer/__init__.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer/page.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer/utils.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer/prefill.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer/decode.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer/cascade.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer/comm/nvshmem_allreduce.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer/testing/__init__.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer/testing/utils.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | build_utils.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer-cubin/flashinfer_cubin/__init__.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/attention/test_attention_sink_blackwell.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/attention/test_attention_sink.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/attention/test_batch_attention.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/attention/test_vsa_block_sparse.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/trace/test_fi_trace.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/mamba/__init__.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/utils/test_logging.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/utils/test_fp4_kv_quantization.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/utils/test_logging_replay.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/utils/test_load_cubin_compile_race_condition.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/gemm/test_groupwise_scaled_gemm_fp8.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/gemm/test_groupwise_scaled_gemm_mxfp4.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/gdn/conftest.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/gdn/test_prefill_cp_delta_rule.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/gdn/test_prefill_delta_rule.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/gdn/test_decode_delta_rule.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/gdn/reference_delta_rule.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | …sts/gdn/test_decode_pretranspose_noncontiguous_pool.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/test_helpers/sink_attention_reference.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/moe/test_trtllm_cutlass_fused_moe.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | …e/test_trtllm_gen_fused_moe_routing_renormalize_fp8.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/moe/trtllm_gen_fused_moe_utils.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | …/test_trtllm_gen_fused_moe_routing_renormalize_bf16.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/moe/test_cute_dsl_fused_moe.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/moe/utils.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | …e/test_trtllm_gen_fused_moe_routing_renormalize_fp4.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/moe/test_trtllm_gen_routed_fused_moe.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/moe/test_trtllm_gen_per_token_moe.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/moe/test_bgmv_moe.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/moe/test_trtllm_gen_fused_moe.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | tests/grouped_mm/test_cute_sm120_mxfp8.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer-jit-cache/build_backend.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | flashinfer-jit-cache/flashinfer_jit_cache/__init__.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | benchmarks/bench_deepgemm_blackwell.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | benchmarks/bench_gdn_decode.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | benchmarks/bench_gdn_prefill.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| HIGH | benchmarks/bench_groupwise_gemm_fp8_blackwell.py | 0 | copyright (c) 2025 by flashinfer team. licensed under the apache license, version 2.0 (the "license"); you may not use t | STRING |
| 350 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | build_backend.py | 317 | def _synthesize_nccl_builddir(build: Path) -> None: | CODE |
| LOW | build_backend.py | 375 | def _check_nccl_version_drift(wheel: Path) -> None: | CODE |
| LOW | build_backend.py | 623 | def _install_nvep_runtime_wheels(built_nixl: bool) -> None: | CODE |
| LOW | build_backend.py | 690 | def _install_cuda_tile_compile_deps() -> None: | CODE |
| LOW⚡ | build_backend.py | 1027 | def get_requires_for_build_wheel(config_settings=None): | CODE |
| LOW⚡ | build_backend.py | 1032 | def get_requires_for_build_sdist(config_settings=None): | CODE |
| LOW⚡ | build_backend.py | 1037 | def get_requires_for_build_editable(config_settings=None): | CODE |
| LOW⚡ | build_backend.py | 1042 | def prepare_metadata_for_build_wheel(metadata_directory, config_settings=None): | CODE |
| LOW⚡ | build_backend.py | 1047 | def prepare_metadata_for_build_editable(metadata_directory, config_settings=None): | CODE |
| LOW | tests/conftest.py | 13 | def _patch_cutlass_dsl_operand_major_mode(): | CODE |
| LOW | tests/conftest.py | 81 | def _set_torch_compile_options(): | CODE |
| LOW | tests/conftest.py | 87 | def _monkeypatch_add_torch_compile(func): | CODE |
| LOW | tests/conftest.py | 175 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW | tests/test_artifacts.py | 12 | def test_sanity_check_urllib_behavior(): | CODE |
| LOW | tests/test_artifacts.py | 216 | def _mock_file_index_responses(): | STRING |
| LOW | tests/test_artifacts.py | 230 | def test_get_available_cubin_files(): | STRING |
| LOW | tests/test_artifacts.py | 282 | def test_get_subdir_file_list(monkeypatch, tmp_path): | CODE |
| LOW⚡ | tests/test_jit_cpp_ext.py | 18 | def test_nvcc_parallelism_flags_use_flashinfer_nvcc_threads(monkeypatch): | CODE |
| LOW⚡ | tests/test_jit_cpp_ext.py | 24 | def test_nvcc_parallelism_flags_ignore_sccache_launcher(monkeypatch): | CODE |
| LOW⚡ | tests/test_jit_cpp_ext.py | 31 | def test_generate_ninja_uses_sccache_compatible_nvcc_depfile_flag( | CODE |
| LOW | tests/test_jit_cpp_ext.py | 51 | def test_debug_jit_uses_sccache_compatible_nvcc_device_debug_flag(monkeypatch): | CODE |
| LOW | tests/test_jit_cpp_ext.py | 69 | def test_release_jit_propagates_ndebug_to_host_cflags(monkeypatch): | CODE |
| LOW | tests/test_jit_cpp_ext.py | 88 | def test_debug_jit_does_not_propagate_ndebug(monkeypatch): | CODE |
| LOW | tests/test_jit_cpp_ext.py | 106 | def test_run_ninja_uses_max_jobs(monkeypatch, tmp_path): | CODE |
| LOW | tests/test_jit_cpp_ext.py | 132 | def test_jit_spec_build_rewrites_ninja_before_build(monkeypatch): | CODE |
| LOW | tests/test_jit_cpp_ext.py | 232 | def fake_single_prefill_module( | CODE |
| LOW | tests/test_jit_cpp_ext.py | 244 | def fake_batch_prefill_module( | CODE |
| LOW⚡ | tests/kda/test_recurrent_kda.py | 757 | def test_non_contiguous_gate_stride(H: int, D: int): | CODE |
| LOW⚡ | tests/kda/test_recurrent_kda.py | 1269 | def test_spec_decode_padded_cuda_graph(D): | CODE |
| LOW⚡ | tests/kda/test_recurrent_kda.py | 1389 | def test_spec_decode_shape_validation(): | CODE |
| LOW⚡ | tests/kda/test_recurrent_kda.py | 1465 | def test_spec_decode_cu_seqlens_validation(): | CODE |
| LOW⚡ | tests/kda/test_recurrent_kda.py | 1497 | def test_spec_decode_num_accepted_tokens(): | CODE |
| LOW⚡ | tests/kda/test_recurrent_kda.py | 1900 | def test_spec_decode_checkpoint_correctness(): | CODE |
| LOW⚡ | tests/kda/test_recurrent_kda.py | 1946 | def test_spec_decode_non_compact_state(): | CODE |
| LOW⚡ | tests/kda/test_recurrent_kda.py | 2016 | def test_spec_decode_all_padded(): | CODE |
| LOW⚡ | tests/kda/test_recurrent_kda.py | 2076 | def test_spec_decode_validate_slots_collision(): | CODE |
| LOW⚡ | tests/kda/test_recurrent_kda.py | 2189 | def test_spec_decode_batched_vs_cuseqlens(): | CODE |
| LOW⚡ | tests/kda/test_recurrent_kda.py | 2261 | def test_spec_decode_batched_auto_ssi(): | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 91 | def naive_kda_lowerbound_gate( | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 146 | def _make_vs_reference_tensors(B, T, H, D, gate_logit_normalizer, dtype): | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 176 | def test_recurrent_kda_vs_naive( | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 235 | def test_recurrent_kda_vs_fla( | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 442 | def test_standard_decode_state_indices_update_pool(): | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 521 | def test_vllm_padded_cuda_graph( | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 669 | def test_non_compact_state_stride(H: int, D: int): | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 944 | def spec_decode_naive_reference( | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 1178 | def test_spec_decode_gate_modes(gate_mode): | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 1589 | def test_spec_decode_nat_equals_one_matches_no_nat(): | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 1633 | def test_spec_decode_nat_heterogeneous(D): | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 1695 | def test_spec_decode_nat_with_padding(): | CODE |
| LOW | tests/kda/test_recurrent_kda.py | 1815 | def test_spec_decode_nat_gate_modes(gate_mode): | CODE |
| LOW | tests/attention/test_nvfp4_attention_sm120.py | 24 | def _patch_cutlass_dsl_operand_major_mode(): | CODE |
| LOW | tests/attention/test_hopper.py | 66 | def test_batch_ragged_prefill( | CODE |
| LOW | tests/attention/test_trtllm_gen_mla.py | 22 | def trtllm_gen_workspace_softmax_end_bytes_decode( | CODE |
| LOW | tests/attention/test_trtllm_gen_mla.py | 111 | def sparse_mla_reference_torch( | CODE |
| LOW | tests/attention/test_trtllm_gen_mla.py | 151 | def scaled_dot_product_attention( | CODE |
| LOW | tests/attention/test_trtllm_gen_mla.py | 662 | def trtllm_batch_decode_mla_sparse( | CODE |
| LOW | tests/attention/test_trtllm_gen_mla.py | 962 | def test_trtllm_batch_decode_mla( | CODE |
| LOW | tests/attention/test_trtllm_gen_mla.py | 1009 | def test_trtllm_batch_decode_mla_cum_seq_lens_q( | CODE |
| LOW | tests/attention/test_trtllm_gen_mla.py | 1044 | def test_trtllm_batch_decode_mla_sparse( | CODE |
| 1979 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/attention/test_sparse_mla_sm120.py | 31 | CODE | |
| LOW | tests/attention/test_rope.py | 19 | CODE | |
| LOW | tests/trace/reference_utils.py | 3 | CODE | |
| LOW | tests/trace/test_fi_trace_template_consistency.py | 411 | CODE | |
| LOW | tests/moe_ep/smoke_nixl_ep.py | 12 | CODE | |
| LOW | tests/moe_ep/test_fleet_create.py | 3 | CODE | |
| LOW | tests/moe_ep/conftest.py | 3 | CODE | |
| LOW | tests/moe_ep/test_compute_bridge.py | 18 | CODE | |
| LOW | tests/moe_ep/test_layer_factory.py | 3 | CODE | |
| LOW | tests/moe_ep/test_moe_ep_compute_correctness.py | 11 | CODE | |
| LOW | tests/moe_ep/test_moe_ep_compute_correctness_nvfp4.py | 12 | CODE | |
| LOW | tests/moe_ep/test_split_kernels.py | 7 | CODE | |
| LOW | tests/moe_ep/test_constraints.py | 3 | CODE | |
| LOW | tests/moe_ep/test_moe_ep_ht_correctness.py | 11 | CODE | |
| LOW | tests/moe_ep/test_moe_ep_deep_gemm_mega_multirank.py | 14 | CODE | |
| LOW | tests/moe_ep/test_config.py | 3 | CODE | |
| LOW | tests/moe_ep/test_fused_moe_weights.py | 3 | CODE | |
| LOW | tests/moe_ep/test_moe_ep_layer_multirank.py | 12 | CODE | |
| LOW | …sts/moe_ep/test_moe_ep_mxfp8_cutedsl_mega_multirank.py | 20 | CODE | |
| LOW | tests/moe_ep/test_arch_and_build.py | 3 | CODE | |
| LOW | …sts/moe_ep/test_moe_ep_nvfp4_cutedsl_mega_multirank.py | 20 | CODE | |
| LOW | tests/moe_ep/test_layer_single_gpu.py | 3 | CODE | |
| LOW | tests/moe_ep/smoke_nccl_ep.py | 17 | CODE | |
| LOW | tests/moe_ep/test_mega_layer_validation.py | 3 | CODE | |
| LOW | …s/moe_ep/test_mxfp8_cutedsl_preprocess_vs_reference.py | 17 | CODE | |
| LOW | tests/moe_ep/nixl_ep/test_fleet_mock.py | 17 | CODE | |
| LOW | tests/moe_ep/nccl_ep/conftest.py | 9 | CODE | |
| LOW | tests/moe_ep/nccl_ep/test_handle_mock.py | 14 | CODE | |
| LOW | tests/moe_ep/nccl_ep/test_fleet_mock.py | 9 | CODE | |
| LOW | tests/moe_ep/nccl_ep/test_ndtensor.py | 9 | CODE | |
| LOW | tests/comm/test_mnnvl_dcp_alltoall.py | 64 | CODE | |
| LOW | tests/gdn/test_decode_pretranspose_bf16_padded_pool.py | 29 | CODE | |
| LOW | tests/gdn/test_prefill_delta_rule.py | 17 | CODE | |
| LOW | tests/gdn/test_decode_delta_rule.py | 17 | CODE | |
| LOW | …sts/gdn/test_decode_pretranspose_noncontiguous_pool.py | 17 | CODE | |
| LOW | tests/trace_apply/test_trace_apply.py | 15 | CODE | |
| LOW | tests/moe/test_unified_moe.py | 31 | CODE | |
| LOW | tests/moe/test_unified_moe_fuzz.py | 140 | CODE | |
| LOW | flashinfer-jit-cache/flashinfer_jit_cache/__init__.py | 17 | CODE | |
| LOW | flashinfer-jit-cache/flashinfer_jit_cache/__init__.py | 19 | CODE | |
| LOW | flashinfer-jit-cache/flashinfer_jit_cache/__init__.py | 19 | CODE | |
| LOW | benchmarks/bench_batch_attention.py | 1 | CODE | |
| LOW | benchmarks/bench_ep_matrix.py | 27 | CODE | |
| LOW | benchmarks/bench_moe_ep.py | 49 | CODE | |
| LOW | flashinfer/fp8_quantization.py | 12 | CODE | |
| LOW | flashinfer/fp8_quantization.py | 12 | CODE | |
| LOW | flashinfer/fp8_quantization.py | 12 | CODE | |
| LOW | flashinfer/fp8_quantization.py | 12 | CODE | |
| LOW | flashinfer/__init__.py | 18 | CODE | |
| LOW | flashinfer/__init__.py | 20 | CODE | |
| LOW | flashinfer/__init__.py | 21 | CODE | |
| LOW | flashinfer/__init__.py | 24 | CODE | |
| LOW | flashinfer/__init__.py | 25 | CODE | |
| LOW | flashinfer/__init__.py | 26 | CODE | |
| LOW | flashinfer/__init__.py | 27 | CODE | |
| LOW | flashinfer/__init__.py | 28 | CODE | |
| LOW | flashinfer/__init__.py | 31 | CODE | |
| LOW | flashinfer/__init__.py | 32 | CODE | |
| LOW | flashinfer/__init__.py | 35 | CODE | |
| LOW | flashinfer/__init__.py | 36 | CODE | |
| 1154 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | requirements.txt | 1 | apache-tvm-ffi>=0.1.6,!=0.1.8,!=0.1.8.post0,<0.2 | COMMENT |
| LOW | .pre-commit-config.yaml | 1 | # To use: | COMMENT |
| LOW | pyproject.toml | 1 | # Copyright (c) 2024 by FlashInfer team. | COMMENT |
| LOW | build_backend.py | 461 | COMMENT | |
| LOW | csrc/fmha_v2/fused_multihead_attention.h | 201 | int64_t softmax_stats_stride_in_bytes; | COMMENT |
| LOW | …/fmha_v2/fused_multihead_attention_kernel_4x1_hopper.h | 461 | // Create buffer_full barriers with 1 arrive count | COMMENT |
| LOW | csrc/fmha_v2/fused_multihead_attention_utils.h | 801 | int const* cu_mask_rows) { | COMMENT |
| LOW | …/fused_multihead_flash_attention_kernel_noloop_tiled.h | 241 | float global_sum[Softmax::ROWS_PER_THREAD]; | COMMENT |
| LOW | csrc/fmha_v2/fused_multihead_attention_kernel.h | 21 | #include <fmha/smem_tile_o.h> | COMMENT |
| LOW | csrc/fmha_v2/fused_multihead_attention_kernel.h | 41 | // - P = norm * K^T * Q , where norm is the normalization term (a scalar), | COMMENT |
| LOW | …c/fmha_v2/fused_multihead_attention_demo_bert_params.h | 101 | // The stride between matrices of packed mask. | COMMENT |
| LOW | …c/fmha_v2/fused_multihead_attention_demo_bert_params.h | 181 | // Paged KV uses 4D tensor, the tensor size is: | COMMENT |
| LOW | csrc/fmha_v2/fmha/softmax.h | 1041 | } | COMMENT |
| LOW | csrc/fmha_v2/fmha/mask.h | 341 | } | COMMENT |
| LOW | csrc/fmha_v2/fmha/utils.h | 21 | #include <__clang_cuda_builtin_vars.h> | COMMENT |
| LOW | csrc/fmha_v2/fmha/utils.h | 61 | using Unpack_remaining = typename Unpack<Ns...>::Type; | COMMENT |
| LOW | csrc/fmha_v2/fmha/utils.h | 81 | // (84): here | COMMENT |
| LOW | csrc/fmha_v2/fmha/utils.h | 101 | struct Cond_inspect_ns { | COMMENT |
| LOW | csrc/fmha_v2/fmha/utils.h | 801 | // asm volatile("fma.rn.f16x2.relu %0, %1, %2, %3;" : "=r"(c) : "r"(a), "r"(one), | COMMENT |
| LOW | csrc/fmha_v2/fmha/utils.h | 821 | // return dst; | COMMENT |
| LOW | csrc/fmha_v2/fmha/paged_kv_cache.h | 21 | struct Kv_block_array { | COMMENT |
| LOW | csrc/fmha_v2/fmha/gmem_tile_o_packed.h | 1281 | // The scale. | COMMENT |
| LOW | csrc/fmha_v2/fmha/kernel_traits.h | 21 | #include <fmha/gmem_tile_qkv.h> | COMMENT |
| LOW | csrc/fmha_v2/fmha/fragment.h | 141 | f.reg(4 * ii + 0) = tmp.x; | COMMENT |
| LOW | csrc/fmha_v2/fmha/smem_tile_v.h | 481 | t[3] = y; | COMMENT |
| LOW | csrc/fmha_v2/fmha/smem_tile_v.h | 601 | // Jump by 8*16 rows per K but account for packing. | COMMENT |
| LOW | csrc/fmha_v2/fmha/smem_tile_v.h | 921 | uint2 tmp_0; | COMMENT |
| LOW | csrc/fmha_v2/fmha/warpspec/dma.h | 301 | if (q_step_idx == 0 && kv_step_idx == kv_idx_start) { | COMMENT |
| LOW | csrc/fmha_v2/fmha/warpspec/dma.h | 681 | // expected phase, while slow DMA warps are still waiting on the old expected phase of the | COMMENT |
| LOW | csrc/fmha_v2/fmha/warpspec/dma.h | 701 | // | COMMENT |
| LOW | csrc/fmha_v2/fmha/warpspec/compute.h | 581 | // results once. For example, STEP_KV=256, qgmma.K=32, then 256/32=8 MMAs are needs, | COMMENT |
| LOW | csrc/fmha_v2/fmha/warpspec/kernel_traits.h | 41 | int Q_BUFFERS_, | COMMENT |
| LOW | csrc/fmha_v2/fmha/warpspec/kernel_traits.h | 201 | // Apply the exp2f optimization (fuse bmm1_scale and -max into FMAs). | COMMENT |
| LOW | csrc/fmha_v2/fmha/warpspec/kernel_traits.h | 421 | // The step size in key/value sequence dimension (N of BMM1 and K of BMM2). | COMMENT |
| LOW | csrc/fmha_v2/fmha/hopper/arrive_wait.h | 21 | COMMENT | |
| LOW | csrc/fmha_v2/fmha/hopper/arrive_wait.h | 41 | #endif | COMMENT |
| LOW | csrc/fmha_v2/fmha/hopper/smem_tile.h | 1801 | tmp[nii][ki].w); // PRMT 2+3 | COMMENT |
| LOW | csrc/fmha_v2/fmha/hopper/smem_tile.h | 1821 | // [g0, g1] [o0, o1] => y: [g0, h0, o0, p0], i.e. col 0 | COMMENT |
| LOW | csrc/fmha_v2/fmha/hopper/smem_tile.h | 2001 | // [00, 01] | COMMENT |
| LOW | csrc/fmha_v2/fmha/hopper/smem_tile.h | 2121 | BYTES_PER_STS, 1, 0, ROWS_PER_XOR_PATTERN, 1>; | COMMENT |
| LOW | csrc/fmha_v2/fmha/hopper/smem_tile.h | 2321 | // w: +24 (o) | COMMENT |
| LOW | csrc/fmha_v2/fmha/hopper/gmem_tile_o_packed.h | 601 | int64_t row_offset = | COMMENT |
| LOW | csrc/fmha_v2/fmha/hopper/fragment.h | 281 | Gmma_single_desc_b::TRANS_MODE == fmha::Gmma_descriptor_transpose::TRANS ? true : false, | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/ptx_utils.h | 1 | #ifndef PTX_UTILS_H | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/ptx_utils.h | 21 | // * Issued by a full **warpgroup** (4 consecutive warps = 128 threads). | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/ptx_utils.h | 181 | // 1. Arrival counter — decremented by `mbarrier.arrive*`. | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/ptx_utils.h | 321 | // ── Hopper TMA bulk-tensor copy (sm_90a) ────────────────────────────────── | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/ptx_utils.h | 341 | // covers every TMA issue pointing at this same barrier, before | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/moe_tma.h | 1 | #ifndef MOE_TMA_H | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/moe_tma.h | 21 | // CUDA Driver API: provides `CUtensorMap` and `cuTensorMapEncodeTiled`. | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/moe_tma.h | 441 | // `create_down_weight_tma_desc` and `create_down_activation_tma_desc`. | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/moe_grid_barrier.h | 1 | #pragma once | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/moe_internal.h | 1 | COMMENT | |
| LOW | csrc/fused_moe/monomoe/src/moe_internal.h | 21 | // pipeline / data-movement reschedules — they do not change the kernel's | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/moe_internal.h | 101 | COMMENT | |
| LOW | csrc/fused_moe/monomoe/src/moe_internal.h | 221 | static constexpr uint32_t value = Dims::DOWN_SCALE_COLS; | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/moe_internal.h | 261 | COMMENT | |
| LOW | csrc/fused_moe/monomoe/src/moe_internal.h | 321 | "down-projection (one outer K-step consumes K_STEP_DOWN " | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/moe_internal.h | 341 | static_assert(!use_wgmma_v<Dims> || Dims::HIDDEN_STATES % K_STEP_UP == 0, | COMMENT |
| LOW | csrc/fused_moe/monomoe/src/moe_internal.h | 361 | // the single-buffer `spec->down_partial_out[BS][HIDDEN_STATES]`. | COMMENT |
| 498 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 175 | CODE | |
| LOW | tests/conftest.py | 221 | CODE | |
| LOW | tests/attention/test_trtllm_gen_sparse_mla_dsv4.py | 194 | CODE | |
| LOW | tests/attention/test_fmha_v2_prefill.py | 62 | CODE | |
| LOW | tests/attention/test_fmha_v2_prefill.py | 208 | CODE | |
| LOW | tests/attention/test_fmha_v2_prefill.py | 464 | CODE | |
| LOW | tests/attention/test_fmha_v2_prefill.py | 1177 | CODE | |
| LOW | tests/attention/test_batch_prefill_kernels.py | 76 | CODE | |
| LOW | tests/attention/test_batch_prefill_kernels.py | 416 | CODE | |
| LOW | tests/attention/test_attention_sink.py | 36 | CODE | |
| LOW | tests/attention/test_xqa.py | 164 | CODE | |
| LOW | tests/attention/test_cute_dsl_mla_decode.py | 758 | CODE | |
| LOW | tests/attention/test_rope.py | 1392 | CODE | |
| LOW | tests/attention/test_vsa_block_sparse.py | 264 | CODE | |
| LOW | tests/attention/test_vsa_block_sparse.py | 919 | CODE | |
| LOW | tests/attention/test_vsa_block_sparse.py | 1230 | CODE | |
| LOW | tests/trace/test_fi_trace_template_consistency.py | 191 | CODE | |
| LOW | tests/mamba/conftest.py | 720 | CODE | |
| LOW | tests/mamba/triton_reference/ssd_chunk_scan.py | 88 | CODE | |
| LOW | …amba/triton_reference/selective_state_update_varlen.py | 272 | CODE | |
| LOW | tests/mamba/triton_reference/ssd_chunk_state.py | 387 | CODE | |
| LOW | tests/mamba/triton_reference/selective_state_update.py | 81 | CODE | |
| LOW | tests/mamba/triton_reference/ssd_state_passing.py | 36 | CODE | |
| LOW | …s/mamba/triton_reference/checkpointing_state_update.py | 436 | CODE | |
| LOW | …s/mamba/triton_reference/checkpointing_state_update.py | 925 | CODE | |
| LOW | tests/comm/test_trtllm_alltoall.py | 536 | CODE | |
| LOW | tests/comm/test_trtllm_alltoall.py | 584 | CODE | |
| LOW | tests/comm/test_trtllm_allreduce_fusion.py | 27 | CODE | |
| LOW | tests/comm/test_trtllm_moe_alltoall.py | 703 | CODE | |
| LOW | tests/comm/test_trtllm_allreduce.py | 31 | CODE | |
| LOW | tests/comm/test_allreduce_fusion_moe_unified_api.py | 79 | CODE | |
| LOW | tests/comm/test_trtllm_moe_allreduce_fusion_finalize.py | 25 | CODE | |
| LOW | tests/comm/test_mnnvl_moe_alltoall.py | 124 | CODE | |
| LOW | tests/comm/test_mnnvl_moe_alltoall.py | 440 | CODE | |
| LOW | tests/comm/test_trtllm_mnnvl_allreduce.py | 793 | CODE | |
| LOW | …s/comm/test_trtllm_allreduce_fusion_group_fp8_quant.py | 297 | CODE | |
| LOW | tests/comm/test_mixed_comm.py | 46 | CODE | |
| LOW | tests/comm/test_mixed_comm.py | 204 | CODE | |
| LOW | tests/comm/test_trtllm_moe_allreduce_fusion.py | 25 | CODE | |
| LOW | tests/comm/test_vllm_custom_allreduce.py | 35 | CODE | |
| LOW | tests/utils/test_fp4_quantize.py | 808 | CODE | |
| LOW | tests/utils/test_gen_module_symlink_race_condition.py | 66 | CODE | |
| LOW | tests/utils/test_logging_replay.py | 366 | CODE | |
| LOW | tests/utils/test_logging_replay.py | 440 | CODE | |
| LOW | tests/utils/test_logging_replay.py | 514 | CODE | |
| LOW | tests/utils/test_logging_replay.py | 587 | CODE | |
| LOW | tests/utils/test_logging_replay.py | 644 | CODE | |
| LOW | tests/utils/test_logging_replay.py | 721 | CODE | |
| LOW | tests/utils/test_logging_replay.py | 825 | CODE | |
| LOW | tests/utils/test_logging_replay.py | 912 | CODE | |
| LOW | tests/utils/test_sampling.py | 773 | CODE | |
| LOW | tests/utils/test_sampling.py | 1064 | CODE | |
| LOW | tests/utils/test_topk.py | 1083 | CODE | |
| LOW | tests/model_optimizations/test_dsv3_fused_routing.py | 133 | CODE | |
| LOW | tests/test_helpers/sink_attention_reference.py | 39 | CODE | |
| LOW | tests/moe/test_trtllm_cutlass_fused_moe.py | 312 | CODE | |
| LOW | tests/moe/trtllm_gen_fused_moe_utils.py | 2480 | CODE | |
| LOW | tests/moe/trtllm_gen_fused_moe_utils.py | 3275 | CODE | |
| LOW | tests/moe/trtllm_gen_fused_moe_utils.py | 1110 | CODE | |
| LOW | tests/moe/test_b12x_fused_moe.py | 665 | CODE | |
| 349 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | build_backend.py | 131 | except Exception: | CODE |
| LOW | build_backend.py | 193 | except Exception: | CODE |
| LOW | build_backend.py | 208 | except Exception: | CODE |
| LOW | build_backend.py | 313 | except Exception: | CODE |
| LOW | build_backend.py | 390 | except Exception: | CODE |
| LOW | build_backend.py | 883 | except Exception as e: | CODE |
| LOW | build_utils.py | 45 | except Exception: | CODE |
| LOW | tests/attention/test_deepseek_mla.py | 102 | except Exception as e: | CODE |
| MEDIUM | tests/attention/test_deepseek_mla.py | 42 | def warmup_jit(): | CODE |
| LOW | …sts/trace/test_tgv_gemm_sm100_reference_correctness.py | 39 | except Exception as exc: | CODE |
| LOW | …sts/trace/test_mxfp8_quantize_reference_correctness.py | 25 | except Exception as exc: | CODE |
| LOW | tests/trace/test_mm_bf16_fp4_reference_correctness.py | 44 | except Exception as exc: | CODE |
| LOW | tests/trace/test_single_decode_reference_correctness.py | 31 | except Exception as exc: | CODE |
| LOW | …ize_fp8_append_paged_kv_cache_reference_correctness.py | 69 | except Exception as exc: | CODE |
| LOW | tests/trace/test_bmm_fp8_reference_correctness.py | 38 | except Exception as exc: | CODE |
| LOW | …/trace/test_cutlass_fused_moe_reference_correctness.py | 62 | except Exception as exc: | CODE |
| LOW | …s/trace/test_segment_gemm_run_reference_correctness.py | 34 | except Exception as exc: | CODE |
| LOW | …s/trace/test_block_sparse_run_reference_correctness.py | 58 | except Exception as exc: | CODE |
| LOW | …s/trace/test_xqa_batch_decode_reference_correctness.py | 74 | except Exception as exc: | CODE |
| LOW | …sts/trace/test_mxfp4_quantize_reference_correctness.py | 33 | except Exception as exc: | CODE |
| LOW | …ace/test_var_block_sparse_run_reference_correctness.py | 67 | except Exception as exc: | CODE |
| LOW | tests/trace/test_bmm_bf16_reference_correctness.py | 29 | except Exception as exc: | CODE |
| LOW | tests/trace/test_mm_bf16_reference_correctness.py | 29 | except Exception as exc: | CODE |
| LOW | tests/trace/test_fi_trace_template_consistency.py | 260 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | …ace/test_xqa_batch_decode_mla_reference_correctness.py | 72 | except Exception as exc: | CODE |
| LOW | …trace/test_cudnn_batch_decode_reference_correctness.py | 80 | except Exception as exc: | CODE |
| LOW⚡ | tests/trace/example.py | 389 | except Exception: | CODE |
| LOW⚡ | tests/trace/example.py | 400 | except Exception: | CODE |
| LOW | tests/trace/example.py | 414 | except Exception: | CODE |
| LOW | tests/trace/example.py | 426 | except Exception: | CODE |
| LOW | tests/trace/example.py | 798 | except Exception: | CODE |
| LOW | …race/test_batch_attention_run_reference_correctness.py | 61 | except Exception as exc: | CODE |
| LOW | …e/test_trtllm_fmha_v2_prefill_reference_correctness.py | 62 | except Exception as exc: | CODE |
| LOW | tests/trace/test_concat_mla_k_reference_correctness.py | 30 | except Exception as exc: | CODE |
| LOW | …/test_trtllm_batch_decode_mla_reference_correctness.py | 68 | except Exception as exc: | CODE |
| LOW | …sts/trace/test_single_prefill_reference_correctness.py | 31 | except Exception as exc: | CODE |
| LOW | …/test_multi_level_cascade_run_reference_correctness.py | 61 | except Exception as exc: | CODE |
| LOW | …race/test_cudnn_batch_prefill_reference_correctness.py | 84 | except Exception as exc: | CODE |
| LOW | …/test_fused_add_rmsnorm_quant_reference_correctness.py | 32 | except Exception as exc: | CODE |
| LOW | …t_pod_with_paged_kv_cache_run_reference_correctness.py | 70 | except Exception as exc: | CODE |
| LOW | tests/trace/test_rmsnorm_quant_reference_correctness.py | 27 | except Exception as exc: | CODE |
| LOW | …sts/trace/test_nvfp4_quantize_reference_correctness.py | 26 | except Exception as exc: | CODE |
| LOW | tests/trace/test_batch_pod_run_reference_correctness.py | 76 | except Exception as exc: | CODE |
| LOW | tests/autotuner/test_autotuner_distributed.py | 250 | except Exception as e: | CODE |
| MEDIUM | tests/autotuner/test_autotuner_configs.py | 888 | def do_search(): | CODE |
| MEDIUM | tests/autotuner/test_autotuner_configs.py | 926 | def do_load(): | CODE |
| MEDIUM | tests/autotuner/test_autotuner_configs.py | 934 | def do_search(): | CODE |
| MEDIUM | tests/autotuner/test_autotuner_configs.py | 967 | def run_autotune(): | CODE |
| LOW | tests/autotuner/test_autotuner_configs.py | 897 | except Exception as e: | CODE |
| LOW | tests/autotuner/test_autotuner_configs.py | 931 | except Exception as e: | CODE |
| LOW | tests/autotuner/test_autotuner_configs.py | 939 | except Exception as e: | CODE |
| LOW | tests/autotuner/test_autotuner_configs.py | 973 | except Exception as e: | CODE |
| LOW | tests/mamba/conftest.py | 748 | except Exception as exc: # noqa: BLE001 — best-effort prewarm | CODE |
| LOW | tests/mamba/conftest.py | 781 | except Exception as exc: # noqa: BLE001 — best-effort prewarm | CODE |
| LOW | tests/comm/conftest.py | 70 | except Exception: | CODE |
| LOW | tests/comm/test_allreduce_unified_api.py | 260 | except Exception as e: | CODE |
| LOW | tests/comm/test_nvshmem_allreduce.py | 59 | except Exception as e: | CODE |
| LOW | tests/comm/test_trtllm_mnnvl_allreduce_custom_comm.py | 197 | except Exception as e: | CODE |
| MEDIUM | tests/comm/test_trtllm_mnnvl_allreduce_custom_comm.py | 70 | def get_open_port() -> int: | CODE |
| LOW | tests/comm/test_dcp_alltoall.py | 48 | except Exception: | CODE |
| 195 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/attention/test_fmha_v2_prefill.py | 62 | CODE | |
| LOW | tests/attention/test_mla_decode_kernel.py | 177 | CODE | |
| LOW | tests/attention/test_mla_decode_kernel.py | 398 | CODE | |
| LOW | tests/attention/test_xqa.py | 120 | CODE | |
| LOW | tests/attention/test_trtllm_gen_attention_decode.py | 615 | CODE | |
| LOW | tests/attention/test_batch_attention.py | 91 | CODE | |
| LOW | tests/mamba/test_chunk_scan_combined.py | 27 | CODE | |
| LOW | tests/mamba/utils.py | 16 | CODE | |
| LOW | …amba/triton_reference/selective_state_update_varlen.py | 272 | CODE | |
| LOW | tests/mamba/triton_reference/selective_state_update.py | 431 | CODE | |
| LOW | tests/mamba/triton_reference/ssd_combined.py | 32 | CODE | |
| LOW | tests/mamba/triton_reference/ssd_combined.py | 197 | CODE | |
| LOW | …s/mamba/triton_reference/checkpointing_state_update.py | 925 | CODE | |
| LOW | tests/comm/test_all_gather_matmul.py | 45 | CODE | |
| LOW | tests/comm/test_mixed_comm.py | 43 | CODE | |
| LOW | tests/gemm/test_cute_dsl_gemm_allreduce_two_shot.py | 139 | CODE | |
| LOW | tests/gemm/test_groupwise_scaled_gemm_mxfp4.py | 73 | CODE | |
| LOW | tests/gdn/reference_delta_rule.py | 125 | CODE | |
| LOW | tests/test_helpers/utils_fp4.py | 51 | CODE | |
| LOW | tests/moe/test_dpsk_fused_moe_fp8.py | 279 | CODE | |
| LOW | tests/moe/test_dpsk_fused_moe_fp8.py | 370 | CODE | |
| LOW | tests/moe/trtllm_gen_fused_moe_utils.py | 2291 | CODE | |
| LOW | tests/moe/trtllm_gen_fused_moe_utils.py | 2439 | CODE | |
| LOW | tests/moe/trtllm_gen_fused_moe_utils.py | 3275 | CODE | |
| LOW | tests/moe/trtllm_gen_fused_moe_utils.py | 238 | CODE | |
| LOW | tests/moe/trtllm_gen_fused_moe_utils.py | 2818 | CODE | |
| LOW | docs/tutorials/jax_tvm_ffi/gemma3_flashinfer_jax.py | 834 | CODE | |
| LOW | flashinfer-jit-cache/build_backend.py | 237 | CODE | |
| LOW | examples/pytorch/wan/transformer_wan_flashinfer.py | 294 | CODE | |
| LOW | examples/pytorch/wan/transformer_wan_flashinfer.py | 509 | CODE | |
| LOW | benchmarks/bench_gdn_decode.py | 337 | CODE | |
| LOW | benchmarks/bench_gdn_decode.py | 1046 | CODE | |
| LOW | benchmarks/bench_gdn_decode.py | 1477 | CODE | |
| LOW | benchmarks/bench_moe_deepseek.py | 198 | CODE | |
| LOW | benchmarks/bench_moe_deepseek.py | 660 | CODE | |
| LOW | scripts/codeowner_analyzer.py | 22 | CODE | |
| LOW | flashinfer/xqa.py | 155 | CODE | |
| LOW | flashinfer/gdn_prefill.py | 103 | CODE | |
| LOW | flashinfer/tactics_blocklist_gen.py | 511 | CODE | |
| LOW | flashinfer/pod.py | 269 | CODE | |
| LOW | flashinfer/pod.py | 453 | CODE | |
| LOW | flashinfer/pod.py | 906 | CODE | |
| LOW | flashinfer/pod.py | 1127 | CODE | |
| LOW | flashinfer/kda_decode.py | 41 | CODE | |
| LOW | flashinfer/rope.py | 1286 | CODE | |
| LOW | flashinfer/rope.py | 1364 | CODE | |
| LOW | flashinfer/rope.py | 1504 | CODE | |
| LOW | flashinfer/sampling.py | 1579 | CODE | |
| LOW | flashinfer/prefill.py | 1130 | CODE | |
| LOW | flashinfer/prefill.py | 1158 | CODE | |
| LOW | flashinfer/prefill.py | 1186 | CODE | |
| LOW | flashinfer/prefill.py | 4061 | CODE | |
| LOW | flashinfer/prefill.py | 4082 | CODE | |
| LOW | flashinfer/prefill.py | 4102 | CODE | |
| LOW | flashinfer/prefill.py | 4478 | CODE | |
| LOW | flashinfer/prefill.py | 4940 | CODE | |
| LOW | flashinfer/prefill.py | 224 | CODE | |
| LOW | flashinfer/prefill.py | 661 | CODE | |
| LOW | flashinfer/prefill.py | 843 | CODE | |
| LOW | flashinfer/prefill.py | 1608 | CODE | |
| 190 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/attention/test_rope.py | 863 | # Step 1: Pre-populate cache with existing tokens | COMMENT |
| LOW | tests/attention/test_rope.py | 1074 | # Step 2: Append new tokens to the pre-populated cache | COMMENT |
| LOW | …_quantize_fp8_append_paged_kv_cache_h8_kv2_rope64.json | 194 | "reference": "from __future__ import annotations\nimport math\nimport torch\nimport torch.nn.functional as F\n\n@torch | CODE |
| LOW | …tize_fp8_append_paged_kv_cache_h8_kv2_rope64_ps16.json | 195 | "reference": "from __future__ import annotations\nimport math\nimport torch\nimport torch.nn.functional as F\n\n@torch | CODE |
| LOW⚡ | tests/utils/test_fp4_quantize.py | 309 | # Step 1: Quantize with fp4_quantize | COMMENT |
| LOW⚡ | tests/utils/test_fp4_quantize.py | 319 | # Step 2: Dequantize with e2m1_and_ufp8sf_scale_to_float | COMMENT |
| LOW | tests/utils/test_fp4_quantize.py | 334 | # Step 3: Compare results | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1081 | # Step 1: Compute g = -exp(A_log) * softplus(a + dt_bias) | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1136 | # Step 1: Apply gating to hidden state: h *= exp(g) | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1139 | # Step 2: Delta rule: v -= k^T @ h ([B,H,K] x [B,H,K,V] -> [B,H,V]) | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1142 | # Step 3: Apply beta gating: v *= beta | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1145 | # Step 4: Update hidden state with outer product: h += k ⊗ v_new | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1148 | # Step 5: Compute output: o = q^T @ h | COMMENT |
| LOW | tests/gdn/reference_delta_rule.py | 1098 | # Step 2: Compute beta = sigmoid(b) | COMMENT |
| LOW | .claude/skills/benchmark-kernel/SKILL.md | 53 | ### Step 1: Choose Your Test Routine | COMMENT |
| LOW | .claude/skills/benchmark-kernel/SKILL.md | 60 | ### Step 2: Run a Single Benchmark | COMMENT |
| LOW | .claude/skills/benchmark-kernel/SKILL.md | 108 | ### Step 3: Understand the Output | COMMENT |
| LOW | .claude/skills/benchmark-kernel/SKILL.md | 124 | ### Step 4: Run Batch Benchmarks | COMMENT |
| LOW | .claude/skills/benchmark-kernel/SKILL.md | 146 | ### Step 5: Common Flags | COMMENT |
| LOW | .claude/skills/benchmark-kernel/SKILL.md | 164 | ### Step 1: Write Your Benchmark Script | COMMENT |
| LOW | .claude/skills/benchmark-kernel/SKILL.md | 200 | ### Step 2: Run Your Benchmark | COMMENT |
| LOW | .claude/skills/benchmark-kernel/SKILL.md | 219 | ### Step 3: Advanced Options | COMMENT |
| LOW | .claude/skills/debug-cuda-crash/SKILL.md | 24 | ## Step 1: Enable API Logging | COMMENT |
| LOW | .claude/skills/debug-cuda-crash/SKILL.md | 109 | ## Step 2: Reproduce the Crash | COMMENT |
| LOW | .claude/skills/debug-cuda-crash/SKILL.md | 146 | ## Step 3: Common CUDA Errors and How to Debug | COMMENT |
| LOW | .claude/skills/debug-cuda-crash/SKILL.md | 249 | ## Step 4: Multi-Process Debugging | COMMENT |
| LOW | .claude/skills/debug-cuda-crash/SKILL.md | 268 | ## Step 5: Advanced Debugging with compute-sanitizer | COMMENT |
| LOW | .claude/skills/debug-cuda-crash/SKILL.md | 309 | ## Step 6: Kernel-Level Debugging with printf() | COMMENT |
| LOW | .claude/skills/add-cuda-kernel/SKILL.md | 18 | ## Step 1: Define CUDA Kernel in `include/` | COMMENT |
| LOW | .claude/skills/add-cuda-kernel/SKILL.md | 76 | ## Step 2: Create Launcher in `csrc/` | COMMENT |
| LOW | .claude/skills/add-cuda-kernel/SKILL.md | 163 | ## Step 3: Create TVM-FFI Binding in `csrc/` | COMMENT |
| LOW | .claude/skills/add-cuda-kernel/SKILL.md | 183 | ## Step 4: Create JIT Generator (No Jinja for Simple Case) | COMMENT |
| LOW | .claude/skills/add-cuda-kernel/SKILL.md | 387 | ## Step 5: Create Python API in `flashinfer/` | COMMENT |
| LOW | .claude/skills/add-cuda-kernel/SKILL.md | 628 | ## Step 6: Add a Trace Template | COMMENT |
| LOW | .claude/skills/add-cuda-kernel/SKILL.md | 776 | ## Step 7: Write Tests in `tests/` | COMMENT |
| LOW | .claude/skills/add-cuda-kernel/SKILL.md | 846 | ## Step 7: Register in AOT | COMMENT |
| LOW | .claude/skills/add-cuda-kernel/SKILL.md | 872 | ## Step 8: Export API | COMMENT |
| LOW | .claude/skills/add-cuda-kernel/SKILL.md | 883 | ## Step 9: Run and Test | COMMENT |
| LOW | .claude/skills/add-cuda-kernel/SKILL.md | 893 | ## Step 10: Add Benchmark | COMMENT |
| LOW | docs/tutorials/jax_tvm_ffi/flashinfer_jax_tvm_ffi.py | 176 | # Step 1 - Compile and load the TVM FFI module | COMMENT |
| LOW | docs/tutorials/jax_tvm_ffi/flashinfer_jax_tvm_ffi.py | 197 | # Step 2 - Register as a JAX FFI target | COMMENT |
| LOW | docs/tutorials/jax_tvm_ffi/flashinfer_jax_tvm_ffi.py | 240 | # Step 3 - Call as a regular JAX expression | COMMENT |
| LOW⚡ | benchmarks/bench_cute_dsl_add_rmsnorm_fp4quant.py | 149 | # Step 1: Add | COMMENT |
| LOW⚡ | benchmarks/bench_cute_dsl_add_rmsnorm_fp4quant.py | 151 | # Step 2: RMSNorm | COMMENT |
| LOW⚡ | benchmarks/bench_cute_dsl_add_rmsnorm_fp4quant.py | 153 | # Step 3: FP4 quantize (with global_scale for NVFP4) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 179 | # Step 1: Apply decay to hidden state: h *= exp(g) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 182 | # Step 2: Delta rule: v -= sum(h * k, dim=0) = k @ h | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 187 | # Step 3: Apply beta gating: v *= beta | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 190 | # Step 4: Update hidden state: h += outer(k, v) = k[:, None] * v[None, :] | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 193 | # Step 5: Compute output: o = q @ h = sum(q[:, None] * h, dim=0) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 361 | # Step 1: Apply decay: h *= exp(g) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 364 | # Step 2: Delta rule: v -= h @ k (h is [BV, BK], k is [BK]) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 369 | # Step 3: Apply beta gating | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 372 | # Step 4: Update state: h += outer(v, k) = v[:, None] * k[None, :] | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 376 | # Step 5: Compute output: o = h @ q = sum(h * q[None, :], axis=1) -> [BV] | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 633 | # Step 1: Apply decay to hidden state: h *= exp(g) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 636 | # Step 2: Delta rule: v -= h @ k = sum(h * k[None, :], axis=1) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 640 | # Step 3: Apply beta gating: v *= beta | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 643 | # Step 4: Update hidden state: h += outer(v, k) = v[:, None] * k[None, :] | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 646 | # Step 5: Compute output: o = h @ q = sum(h * q[None, :], axis=1) | COMMENT |
| 57 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/conftest.py | 234 | # Create a dict with module info for reporting | COMMENT |
| MEDIUM | tests/attention/test_attention_sink.py | 287 | # Create a fragmented page allocation pattern | COMMENT |
| MEDIUM | tests/attention/test_trtllm_gen_attention_decode.py | 1562 | # Create a larger tensor with 2*D in the last dimension | COMMENT |
| MEDIUM⚡ | tests/trace/test_fi_trace.py | 576 | # Create a dummy instance — we don't call run(), only fi_trace() | COMMENT |
| MEDIUM | tests/autotuner/test_autotuner_configs.py | 725 | # Create a cache file with a known config | COMMENT |
| MEDIUM | tests/autotuner/test_autotuner_configs.py | 916 | # Create a cache file | COMMENT |
| MEDIUM | tests/mamba/utils.py | 266 | # Create a simple linear chain structure by default | COMMENT |
| MEDIUM | tests/comm/test_trtllm_alltoall.py | 114 | # Create a random input tensor | COMMENT |
| MEDIUM | tests/comm/test_trtllm_alltoall.py | 177 | # Create a random input tensor | COMMENT |
| MEDIUM | tests/comm/test_trtllm_moe_alltoall.py | 265 | # Create a random input tensor | COMMENT |
| MEDIUM | tests/comm/test_trtllm_moe_alltoall.py | 506 | # Create a random input tensor | COMMENT |
| MEDIUM | tests/comm/test_trtllm_moe_alltoall.py | 745 | # Create a random input tensor | COMMENT |
| MEDIUM | tests/comm/test_mnnvl_memory.py | 135 | # Create a random input tensor | COMMENT |
| MEDIUM | tests/utils/test_fp4_quantize.py | 247 | # Create a test scale factors tensor with uint8 dtype | COMMENT |
| MEDIUM | tests/utils/test_fp4_quantize.py | 297 | # Create a reasonable test tensor | COMMENT |
| MEDIUM | tests/utils/test_logging.py | 400 | # Create a tensor with specific properties | COMMENT |
| MEDIUM | tests/utils/test_logging_replay.py | 1016 | # Create a mock dump with safetensors files | COMMENT |
| MEDIUM | tests/utils/test_norm.py | 719 | # Create a JIT spec for norm module without ENABLE_FP8 flag | COMMENT |
| MEDIUM | tests/utils/test_load_cubin_compile_race_condition.py | 40 | # Define the target file - same for all processes | COMMENT |
| MEDIUM | tests/utils/test_load_cubin_compile_race_condition.py | 75 | # Create a temporary directory for FLASHINFER_CUBIN_DIR | COMMENT |
| MEDIUM | tests/cli/test_cli_cmds.py | 139 | # Create a temporary JIT directory with some dummy cache files | COMMENT |
| MEDIUM | tests/cli/test_cli_cmds.py | 182 | # Create a temporary cubin directory with some dummy cubin files | COMMENT |
| MEDIUM | tests/test_helpers/rope_reference.py | 113 | # The following code is from the vLLM's implementation of RoPE. | COMMENT |
| MEDIUM | tests/moe/test_dpsk_fused_moe_fp8.py | 596 | # Create a mock MoE implementation for skip_checks | COMMENT |
| MEDIUM | docs/tutorials/jax_tvm_ffi/flashinfer_jax_tvm_ffi.py | 1 | # This file is the canonical Sphinx-Gallery source for the tutorial. | COMMENT |
| MEDIUM | docs/tutorials/jax_tvm_ffi/gemma3_flashinfer_jax.py | 1 | # This file is the canonical Sphinx-Gallery source for the tutorial. | COMMENT |
| MEDIUM | examples/pytorch/wan/transformer_wan_flashinfer.py | 4 | # This file is adapted from the diffusers WanTransformer3DModel implementation: | COMMENT |
| MEDIUM | scripts/task_test_multi_gpu_comm_kernels.sh | 22 | # Define the specific test files for multi-GPU comm tests (single-node) | COMMENT |
| MEDIUM | scripts/task_test_multi_node_comm_kernels.sh | 25 | # Define the specific test files for multi-node comm tests | COMMENT |
| MEDIUM | scripts/test_utils.sh | 3 | # This file is meant to be sourced by test runner scripts | COMMENT |
| MEDIUM | scripts/test_utils.sh | 975 | # Create a bash array with the node IDs | COMMENT |
| MEDIUM | scripts/test_utils.sh | 1145 | # Create a temporary directory for parallel job state | COMMENT |
| MEDIUM | scripts/test_utils.sh | 1160 | # Create a results file for each test | COMMENT |
| MEDIUM | …/cutedsl_backend_kernels/moe_nvfp4_swapab/moe_utils.py | 219 | # Create a new cute.Pointer with generic address space, preserving alignment | COMMENT |
| MEDIUM | …/cutedsl_backend_kernels/moe_nvfp4_swapab/moe_utils.py | 247 | # Create a new cute.Pointer with gmem address space, preserving alignment | COMMENT |
| MEDIUM | flashinfer/comm/dlpack_utils.py | 224 | # Create a new capsule each time | STRING |
| MEDIUM | flashinfer/fused_moe/core.py | 152 | # Create a unique cache key (weight_type, weight_shape) | COMMENT |
| MEDIUM | flashinfer/fused_moe/core.py | 184 | # Create a unique cache key (weight_type, weight_shape) | COMMENT |
| MEDIUM | flashinfer/fused_moe/core.py | 221 | # Create the output | COMMENT |
| MEDIUM | …hinfer/fused_moe/cute_dsl/blackwell/custom_pipeline.py | 44 | # This file is copied and modified from https://github.com/NVIDIA/cutlass/tree/main/python/CuTeDSL/cutlass/pipeline | COMMENT |
| MEDIUM | flashinfer/fused_moe/cute_dsl/blackwell/utils.py | 44 | # This file is copied and modified from cutlass https://github.com/NVIDIA/cutlass/blob/main/python/CuTeDSL/cutlass/cute/ | COMMENT |
| MEDIUM | flashinfer/fused_moe/cute_dsl/blackwell/utils.py | 174 | # Create a numpy array | STRING |
| MEDIUM | …blockscaled_contiguous_grouped_gemm_finalize_fusion.py | 315 | """This class implements batched matrix multiplication (C = A x SFA x B x SFB) with support for various data types | STRING |
| MEDIUM | …ockscaled_contiguous_gather_grouped_gemm_act_fusion.py | 322 | """This class implements contiguous grouped matrix multiplication with gather operation and SwiGLU fusion | STRING |
| MEDIUM | flashinfer/gemm/kernels/dense_blockscaled_gemm_sm103.py | 29 | # This file is ported from CUTLASS's sm103_dense_blockscaled_gemm_persistent.py | COMMENT |
| MEDIUM | flashinfer/gemm/kernels/dense_blockscaled_gemm_sm103.py | 50 | """This class implements batched matrix multiplication (C = A x SFA x B x SFB) with support for FP4 data types | STRING |
| MEDIUM | …ashinfer/gemm/kernels/grouped_gemm_masked_blackwell.py | 586 | """This class implements batched matrix multiplication (C = A x SFA x B x SFB) with support for various data types | STRING |
| MEDIUM | …nfer/gemm/kernels/dense_blockscaled_gemm_sm120_b12x.py | 29 | # This file is ported from the CUTLASS dense block-scaled GEMM example | COMMENT |
| MEDIUM | flashinfer/gemm/kernels/dense_blockscaled_gemm_sm100.py | 29 | # This file is ported from TensorRT-LLM's dense_blockscaled_gemm_persistent.py | COMMENT |
| MEDIUM | flashinfer/cute_dsl/gemm_allreduce_two_shot.py | 217 | """This class implements batched matrix multiplication (C = A x B) with support for various data types | STRING |
| MEDIUM | flashinfer/cute_dsl/utils.py | 330 | # Create a numpy array | STRING |
| MEDIUM | flashinfer/jit/cubin_loader.py | 311 | # Define the correct callback type | COMMENT |
| MEDIUM | flashinfer/jit/cubin_loader.py | 321 | # Create the callback and keep a reference to prevent GC | COMMENT |
| MEDIUM | flashinfer/jit/gemm/cutlass/cutlass_library.py | 40 | # The following block implements enum.auto() for Python 3.5 variants that don't include it such | COMMENT |
| MEDIUM | flashinfer/logits_processor/processors.py | 42 | >>> # Create a pipeline that legalizes to a fused op. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …mha_v2/fused_multihead_flash_attention_kernel_noloop.h | 286 | // Do we need to check if there are negative inf for softmax row_max ? | COMMENT |
| LOW | …/fused_multihead_flash_attention_kernel_noloop_tiled.h | 92 | // Do we need to check if there are negative inf for softmax row_max ? | COMMENT |
| LOW | csrc/fmha_v2/fmha/warpspec/epilogue.h | 73 | // Whether we need to check if local_max could be -inf or not. | COMMENT |
| LOW | csrc/fmha_v2/fmha/warpspec/epilogue.h | 543 | // Whether we need to check if local_max could be -inf or not. | COMMENT |
| LOW | csrc/fmha_v2/fmha/warpspec/epilogue.h | 734 | // Whether we need to check if local_max could be -inf or not. | COMMENT |
| LOW | tests/attention/test_rope.py | 863 | # Step 1: Pre-populate cache with existing tokens | COMMENT |
| LOW | tests/attention/test_rope.py | 1074 | # Step 2: Append new tokens to the pre-populated cache | COMMENT |
| LOW | …_quantize_fp8_append_paged_kv_cache_h8_kv2_rope64.json | 194 | "reference": "from __future__ import annotations\nimport math\nimport torch\nimport torch.nn.functional as F\n\n@torch | CODE |
| LOW | …tize_fp8_append_paged_kv_cache_h8_kv2_rope64_ps16.json | 195 | "reference": "from __future__ import annotations\nimport math\nimport torch\nimport torch.nn.functional as F\n\n@torch | CODE |
| LOW⚡ | tests/utils/test_fp4_quantize.py | 309 | # Step 1: Quantize with fp4_quantize | COMMENT |
| LOW⚡ | tests/utils/test_fp4_quantize.py | 319 | # Step 2: Dequantize with e2m1_and_ufp8sf_scale_to_float | COMMENT |
| LOW | tests/utils/test_fp4_quantize.py | 334 | # Step 3: Compare results | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1081 | # Step 1: Compute g = -exp(A_log) * softplus(a + dt_bias) | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1136 | # Step 1: Apply gating to hidden state: h *= exp(g) | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1139 | # Step 2: Delta rule: v -= k^T @ h ([B,H,K] x [B,H,K,V] -> [B,H,V]) | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1142 | # Step 3: Apply beta gating: v *= beta | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1145 | # Step 4: Update hidden state with outer product: h += k ⊗ v_new | COMMENT |
| LOW⚡ | tests/gdn/reference_delta_rule.py | 1148 | # Step 5: Compute output: o = q^T @ h | COMMENT |
| LOW | tests/gdn/reference_delta_rule.py | 1098 | # Step 2: Compute beta = sigmoid(b) | COMMENT |
| LOW⚡ | benchmarks/bench_cute_dsl_add_rmsnorm_fp4quant.py | 149 | # Step 1: Add | COMMENT |
| LOW⚡ | benchmarks/bench_cute_dsl_add_rmsnorm_fp4quant.py | 151 | # Step 2: RMSNorm | COMMENT |
| LOW⚡ | benchmarks/bench_cute_dsl_add_rmsnorm_fp4quant.py | 153 | # Step 3: FP4 quantize (with global_scale for NVFP4) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 179 | # Step 1: Apply decay to hidden state: h *= exp(g) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 182 | # Step 2: Delta rule: v -= sum(h * k, dim=0) = k @ h | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 187 | # Step 3: Apply beta gating: v *= beta | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 190 | # Step 4: Update hidden state: h += outer(k, v) = k[:, None] * v[None, :] | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 193 | # Step 5: Compute output: o = q @ h = sum(q[:, None] * h, dim=0) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 361 | # Step 1: Apply decay: h *= exp(g) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 364 | # Step 2: Delta rule: v -= h @ k (h is [BV, BK], k is [BK]) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 369 | # Step 3: Apply beta gating | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 372 | # Step 4: Update state: h += outer(v, k) = v[:, None] * k[None, :] | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 376 | # Step 5: Compute output: o = h @ q = sum(h * q[None, :], axis=1) -> [BV] | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 633 | # Step 1: Apply decay to hidden state: h *= exp(g) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 636 | # Step 2: Delta rule: v -= h @ k = sum(h * k[None, :], axis=1) | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 640 | # Step 3: Apply beta gating: v *= beta | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 643 | # Step 4: Update hidden state: h += outer(v, k) = v[:, None] * k[None, :] | COMMENT |
| LOW⚡ | benchmarks/gdn_triton_reference.py | 646 | # Step 5: Compute output: o = h @ q = sum(h * q[None, :], axis=1) | COMMENT |
| LOW⚡ | benchmarks/bench_cute_dsl_rmsnorm_fp4quant.py | 157 | # Step 1: RMSNorm | COMMENT |
| LOW⚡ | benchmarks/bench_cute_dsl_rmsnorm_fp4quant.py | 159 | # Step 2: FP4 quantize (with global_scale for NVFP4) | COMMENT |
| LOW | benchmarks/routines/norm.py | 1120 | # Step 2: RMSNorm on residual | COMMENT |
| LOW | flashinfer/trace/templates/rope.py | 1018 | # Step 3: append into paged cache (GQA/MHA) — materialize the quantized | COMMENT |
| LOW | …l/cutedsl_backend_kernels/moe_nvfp4_swapab/epilogue.py | 889 | # Step 1: absmax over the weighted regs. | COMMENT |
| LOW | …_backend_kernels/moe_nvfp4_swapab/epilogue_refactor.py | 1062 | # Step 0: load tmem | COMMENT |
| LOW | …_backend_kernels/moe_nvfp4_swapab/epilogue_refactor.py | 1116 | # Step 1: perform swiglu on the first part, interleave with the second's 32x32 tmem transpose. | COMMENT |
| LOW | …_backend_kernels/moe_nvfp4_swapab/epilogue_refactor.py | 1148 | # Step 2: Quant | COMMENT |
| LOW | …_backend_kernels/moe_nvfp4_swapab/epilogue_refactor.py | 1159 | # Step 3: TMASTG | COMMENT |
| LOW⚡ | …utedsl_backend_kernels/moe_nvfp4_swapab/mega_runner.py | 911 | # Step 1: deterministic input + weight generation | COMMENT |
| LOW⚡ | …utedsl_backend_kernels/moe_nvfp4_swapab/mega_runner.py | 1265 | # Step 2: reference | COMMENT |
| LOW⚡ | …utedsl_backend_kernels/moe_nvfp4_swapab/mega_runner.py | 1297 | # Step 3: workspace allocation | COMMENT |
| LOW⚡ | …utedsl_backend_kernels/moe_nvfp4_swapab/mega_runner.py | 1338 | # Step 4: kernel launch | COMMENT |
| LOW⚡ | …utedsl_backend_kernels/moe_nvfp4_swapab/mega_runner.py | 1910 | # Step 5: validation | COMMENT |
| LOW⚡ | …utedsl_backend_kernels/moe_nvfp4_swapab/kernel_fc12.py | 1884 | # Step 1: coarse-grain spin on ``fc1_done_counter[slot]`` | COMMENT |
| LOW | …utedsl_backend_kernels/moe_nvfp4_swapab/kernel_fc12.py | 1979 | # Step 3: K-loop with 2x cute.copy per tile (B + | COMMENT |
| LOW⚡ | …l/cutedsl_backend_kernels/moe_mxfp8_glu/mega_runner.py | 221 | # Step 1: deterministic input + weight generation (MXFP8) | COMMENT |
| LOW⚡ | …l/cutedsl_backend_kernels/moe_mxfp8_glu/mega_runner.py | 403 | # Step 2: reference (MXFP8) | COMMENT |
| LOW⚡ | …l/cutedsl_backend_kernels/moe_mxfp8_glu/mega_runner.py | 430 | # Step 5: validation (MXFP8) | COMMENT |
| LOW⚡ | …l/cutedsl_backend_kernels/moe_mxfp8_glu/mega_runner.py | 470 | # Step 4: kernel launch (MXFP8) | COMMENT |
| LOW⚡ | flashinfer/gdn_kernels/gdn_decode_pretranspose.py | 278 | # Step 1: Wait for current stage to complete | COMMENT |
| LOW⚡ | flashinfer/gdn_kernels/gdn_decode_pretranspose.py | 282 | # Step 2: Issue async load for next tile (after compute) | COMMENT |
| LOW⚡ | flashinfer/gdn_kernels/gdn_decode_pretranspose.py | 589 | # Step 1: Wait for current stage to complete | COMMENT |
| 34 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flashinfer-cubin/flashinfer_cubin/__init__.py | 80 | __all__ = ["get_cubin_dir", "list_cubins", "get_cubin_path", "CUBIN_DIR"] | CODE |
| LOW | tests/comm/test_nvshmem_allreduce.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/comm/test_vllm_custom_allreduce.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/gemm/test_cute_dsl_gemm_allreduce_two_shot.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | flashinfer-jit-cache/flashinfer_jit_cache/__init__.py | 38 | __all__ = [ | CODE |
| LOW | examples/pytorch/wan/transformer_wan_flashinfer.py | 60 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/aot_memory_monitor.py | 265 | def update_stats(stats: MemoryStats, sample: dict[str, int]) -> None: | CODE |
| LOW | flashinfer/fp8_quantization.py | 20 | __all__ = [ | CODE |
| LOW | flashinfer/compilation_context.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | flashinfer/utils.py | 736 | def set_log_level(lvl_str: str) -> None: | CODE |
| LOW | flashinfer/fp4_quantization.py | 43 | __all__ = [ | CODE |
| LOW | flashinfer/artifacts.py | 289 | def update_pbar_cb(_) -> None: | CODE |
| LOW | flashinfer/deep_gemm.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | flashinfer/attention/__init__.py | 20 | __all__ = [ | CODE |
| LOW | flashinfer/trace/solution.py | 278 | __all__ = [ | CODE |
| LOW | flashinfer/trace/__init__.py | 42 | __all__ = [ | CODE |
| LOW | flashinfer/trace/templates/_init_helpers.py | 258 | __all__ = [ | CODE |
| LOW | flashinfer/moe_ep/__init__.py | 103 | __all__ = [ | CODE |
| LOW | flashinfer/moe_ep/layer.py | 16 | __all__ = ["MoEEpLayer", "MoEEpMegaLayer", "MoEEpSplitLayer"] | CODE |
| LOW | flashinfer/moe_ep/core/__init__.py | 13 | __all__ = [ | CODE |
| LOW | flashinfer/moe_ep/core/bootstrap_utils.py | 48 | __all__ = [ | CODE |
| LOW | flashinfer/moe_ep/core/runtime/bootstrap.py | 258 | __all__ = [ | CODE |
| LOW | flashinfer/moe_ep/core/runtime/__init__.py | 15 | __all__ = [ | CODE |
| LOW | flashinfer/moe_ep/core/comm/__init__.py | 6 | __all__ = ["Fleet", "Handle", "create_fleet"] | CODE |
| LOW | flashinfer/moe_ep/core/kernel/__init__.py | 13 | __all__ = [ | CODE |
| LOW | flashinfer/moe_ep/core/validation/__init__.py | 18 | __all__ = [ | CODE |
| LOW | flashinfer/moe_ep/modes/config.py | 10 | __all__ = [ | CODE |
| LOW | flashinfer/moe_ep/modes/__init__.py | 11 | __all__ = [ | CODE |
| LOW | flashinfer/moe_ep/backends/__init__.py | 5 | __all__ = ["mega", "split"] | CODE |
| LOW | flashinfer/moe_ep/backends/split/__init__.py | 6 | __all__ = [ | CODE |
| LOW | flashinfer/moe_ep/backends/split/comm/__init__.py | 8 | __all__ = ["NCCLEPConfig", "NcclEpConfig", "NvepConfig"] | CODE |
| LOW | flashinfer/moe_ep/backends/split/comm/nccl_ep/fleet.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | flashinfer/moe_ep/backends/split/kernel/__init__.py | 5 | __all__ = ["fused_moe", "identity"] | CODE |
| LOW | …nfer/moe_ep/backends/split/kernel/identity/__init__.py | 4 | __all__ = ["IdentityConfig", "IdentitySplitKernelBackend"] | CODE |
| LOW | …fer/moe_ep/backends/split/kernel/fused_moe/__init__.py | 4 | __all__ = ["FusedMoeKernelConfig", "FusedMoeSplitKernelBackend"] | CODE |
| LOW | flashinfer/moe_ep/backends/mega/__init__.py | 5 | __all__ = ["kernel"] | CODE |
| LOW | flashinfer/moe_ep/backends/mega/kernel/__init__.py | 5 | __all__ = ["deep_gemm_mega", "mxfp8_cutedsl", "nvfp4_cutedsl"] | CODE |
| LOW | …infer/moe_ep/backends/mega/kernel/weight_validation.py | 91 | __all__ = ["check_transformed_mega_weights_structure", "check_transformed_weight_pair"] | CODE |
| LOW | …moe_ep/backends/mega/kernel/deep_gemm_mega/__init__.py | 5 | __all__ = [ | CODE |
| LOW | …/moe_ep/backends/mega/kernel/deep_gemm_mega/weights.py | 159 | __all__ = [ | CODE |
| LOW | …/moe_ep/backends/mega/kernel/deep_gemm_mega/staging.py | 38 | __all__ = ["stage_mega_moe_inputs"] | CODE |
| LOW | …/moe_ep/backends/mega/kernel/mxfp8_cutedsl/__init__.py | 5 | __all__ = [ | CODE |
| LOW | …r/moe_ep/backends/mega/kernel/mxfp8_cutedsl/weights.py | 350 | __all__ = [ | CODE |
| LOW | …ckends/mega/kernel/cutedsl_backend_kernels/__init__.py | 11 | __all__ = ["bootstrap_paths"] | CODE |
| LOW | …ga/kernel/cutedsl_backend_kernels/frontend/__init__.py | 50 | __all__ = [ | CODE |
| LOW | …backend_kernels/frontend/megamoe_frontend/api_mxfp8.py | 173 | def set_gate_up_clamp(self, clamp: Optional[float]) -> None: | CODE |
| LOW | …_backend_kernels/frontend/megamoe_frontend/__init__.py | 24 | __all__ = [ | CODE |
| LOW | …tedsl_backend_kernels/frontend/megamoe_frontend/api.py | 23 | __all__ = [ | CODE |
| LOW | …backend_kernels/frontend/megamoe_frontend/api_nvfp4.py | 231 | def set_gate_up_clamp(self, clamp: Optional[float]) -> None: | CODE |
| LOW | …dsl_backend_kernels/moe_nvfp4_swapab/mega_reference.py | 2613 | __all__ = ["MegaMoEReference", "compute_megamoe_reference", "Nvfp4BlockSize"] | CODE |
| LOW⚡ | …utedsl_backend_kernels/moe_nvfp4_swapab/mega_runner.py | 869 | def set_torch_profiler_enabled(self, enabled: bool) -> None: | CODE |
| LOW⚡ | …utedsl_backend_kernels/moe_nvfp4_swapab/mega_runner.py | 873 | def set_perf_iters(self, warmup: int, iters: int) -> None: | CODE |
| LOW | …utedsl_backend_kernels/moe_nvfp4_swapab/kernel_fc12.py | 270 | def _setup_attributes(self) -> None: | CODE |
| LOW | …backend_kernels/moe_mxfp8_glu/kernel_mxfp8_glu_fc12.py | 293 | def _setup_attributes(self) -> None: | CODE |
| LOW | …_backend_kernels/moe_mxfp8_glu/mega_reference_mxfp8.py | 180 | __all__ = ["compute_megamoe_reference_mxfp8", "Mxfp8BlockSize"] | CODE |
| LOW | …/moe_ep/backends/mega/kernel/nvfp4_cutedsl/__init__.py | 5 | __all__ = [ | CODE |
| LOW | …r/moe_ep/backends/mega/kernel/nvfp4_cutedsl/weights.py | 314 | __all__ = [ | CODE |
| LOW | …ashinfer/gdn_kernels/gdn_decode_bf16_wy_output_only.py | 2255 | __all__ = ["gated_delta_rule_mtp", "GdnDecodeKernel", "K_DIM", "V_DIM_C"] | CODE |
| LOW | flashinfer/gdn_kernels/__init__.py | 91 | __all__ = [ | CODE |
| LOW | flashinfer/gdn_kernels/blackwell/__init__.py | 13 | __all__ = [ | CODE |
| 77 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/comm/test_trtllm_allreduce_reduction.py | 43 | TORCH_CHECK(num_threads > 0 && num_threads <= 1024, "invalid block size"); | CODE |
| HIGH | tests/comm/test_trtllm_mnnvl_allreduce.py | 306 | ordinary data; a `val == 0.F && signbit(val)` check would FTZ-flush | STRING |
| HIGH | tests/utils/test_jit_example.py | 193 | if (qo_idx < qo_len && kv_idx < kv_len) { | CODE |
| HIGH | benchmarks/bench_monomoe.py | 86 | Uses mono_moe's `[gate || up]` fc1 half-ordering and the given (already | STRING |
| HIGH | benchmarks/routines/attention.py | 2790 | # Leave empty (null) when not explicitly overridden so legacy | COMMENT |
| HIGH | flashinfer/trace/templates/moe.py | 2516 | description="Up/gate projection weights (FP8, [gate || up] rows).", | CODE |
| HIGH | flashinfer/trace/templates/moe.py | 2367 | up-projection weights use the [gate || up] half ordering (monomoe's | STRING |
| HIGH | …tedsl_backend_kernels/frontend/megamoe_frontend/run.py | 11 | cd cutedsl_megamoe/front_end && pip install -e . | STRING |
| HIGH | …backend_kernels/moe_mxfp8_glu/kernel_mxfp8_glu_fc12.py | 107 | f"Expected one of: {[t.__name__ for t in valid_ab_tuple]}." # type: ignore[name-defined] # noqa: F | CODE |
| HIGH | …/mega/kernel/cutedsl_backend_kernels/src/flag_batch.py | 21 | flag_addr: Int64 # per-lane counter-slot address (0 == null) | CODE |
| HIGH⚡ | …ashinfer/gdn_kernels/gdn_decode_bf16_wy_output_only.py | 1028 | # _v7e_a/b regs are undefined), so they must keep log_alpha=beta=0. The causal | COMMENT |
| HIGH | flashinfer/fused_moe/monomoe.py | 23 | N (== N_half) = 512 (up-projection produces 2*N = 1024 rows: gate || up) | STRING |
| HIGH | flashinfer/fused_moe/cute_dsl/moe_utils.py | 359 | ``!enable_alltoall || ep_size <= top_k`` branch). Functionally | STRING |
| HIGH | flashinfer/mla/_core.py | 3180 | Accepts the concatenated ``(q_nope || q_rope)`` query and ``(ckv || kpe)`` paged KV | CODE |
| HIGH | flashinfer/jit/attention/variants.py | 39 | float log_sink = (kv_tile_idx == 0 && qo_head_idx < params.num_qo_heads) ? params.sink[qo_head_idx] * math::log2e : | CODE |
| HIGH | flashinfer/jit/attention/fmha_v2/utils.py | 543 | code = "if (!{has_noloop} || (!force_unroll && (ignore_b1opt || b > {unroll_threshold})))".format( | STRING |
| HIGH | flashinfer/jit/attention/fmha_v2/utils.py | 547 | code = "if (!{has_noloop} || (!force_unroll && (ignore_b1opt || b * h > {unroll_threshold})))".format( | STRING |
| HIGH | flashinfer/jit/attention/fmha_v2/generator_utils.py | 1520 | USE_TMA_STORE && false, | CODE |
| HIGH | flashinfer/jit/attention/fmha_v2/generator_utils.py | 1541 | USE_TMA_STORE && false, | CODE |
| HIGH | flashinfer/jit/attention/fmha_v2/generator_utils.py | 2401 | code = "if (!{has_noloop} || (!force_unroll && (ignore_b1opt || b > {unroll_threshold})))".format( | CODE |
| HIGH | flashinfer/jit/attention/fmha_v2/generator_utils.py | 2405 | code = "if (!{has_noloop} || (!force_unroll && (ignore_b1opt || b * h > {unroll_threshold})))".format( | CODE |
| HIGH | flashinfer/jit/attention/fmha_v2/fmha_library.py | 761 | code = "if (!{has_noloop} || (!force_unroll && (ignore_b1opt || b > {unroll_threshold})))".format( | CODE |
| HIGH | flashinfer/jit/attention/fmha_v2/fmha_library.py | 765 | code = "if (!{has_noloop} || (!force_unroll && (ignore_b1opt || b * h > {unroll_threshold})))".format( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | build_backend.py | 933 | # Check if we're in a git repository | COMMENT |
| LOW | flashinfer-cubin/build_backend.py | 75 | # Check if we're in a git repository | COMMENT |
| LOW | tests/attention/test_attention_sink.py | 918 | # Check if any request has qo_len > kv_len for causal case | COMMENT |
| LOW | …s/comm/test_trtllm_allreduce_fusion_group_fp8_quant.py | 218 | # Check if current workspace is large enough; recreate if not | COMMENT |
| LOW | tests/utils/test_fp8_quantize.py | 651 | # Check if the bits of paddings are zero. | COMMENT |
| LOW | tests/utils/test_load_cubin_compile_race_condition.py | 44 | # Read the file from FLASHINFER_CUBIN_DIR | COMMENT |
| LOW | tests/model_optimizations/test_dsv3_fused_routing.py | 274 | # Check if kernel's selection matches expected experts (exact or tied) | COMMENT |
| LOW | tests/test_helpers/sink_attention_reference.py | 95 | # Check if variable length mode is indicated by presence of indptr | COMMENT |
| LOW | flashinfer-jit-cache/build_backend.py | 57 | # Check if we're in a git repository | COMMENT |
| LOW | benchmarks/bench_tgv_gemm.py | 184 | # Check if results are close enough | COMMENT |
| LOW | benchmarks/bench_logging_overhead.py | 224 | # Check if CUDA is available | COMMENT |
| LOW | benchmarks/bench_dcp_alltoall.py | 297 | # Print results (rank 0 only) | COMMENT |
| LOW | scripts/xfails_tracker.py | 52 | # Check if this is a test function (starts with "test_" or has @pytest marks) | COMMENT |
| LOW | scripts/xfails_tracker.py | 70 | # Check if this is a pytest.param call | COMMENT |
| LOW | scripts/xfails_tracker.py | 77 | # Check if this is a runtime pytest.xfail() call | COMMENT |
| LOW | scripts/test_utils.sh | 1625 | # Check if parallel execution is enabled | COMMENT |
| LOW | scripts/codeowner_analyzer.py | 89 | # Check if gh CLI is available | COMMENT |
| LOW | scripts/codeowner_analyzer.py | 114 | # Check if it's already in our cache | COMMENT |
| LOW | scripts/codeowner_analyzer.py | 220 | # Check if username is in allowed list (case-insensitive) | COMMENT |
| LOW | scripts/codeowner_analyzer.py | 290 | # Check if it's a relevant code file | COMMENT |
| LOW | scripts/codeowner_analyzer.py | 420 | # Check if contributor is in allowed users list | COMMENT |
| LOW | scripts/codeowner_analyzer.py | 629 | # Write file-level overrides LAST (CODEOWNERS uses last-match-wins) | COMMENT |
| LOW | scripts/task_run_unit_tests.sh | 64 | # Check if this file's directory should be excluded | COMMENT |
| LOW | .github/workflows/update-xfails-report.yml | 43 | # Check if xfails report file is new (unstaged) or has changes | COMMENT |
| LOW | .github/workflows/update-codeowners.yml | 50 | # Check if CODEOWNERS file is new (unstaged) or has changes | COMMENT |
| LOW | .github/workflows/pr-test.yml | 80 | # Check if PR has run-ci label | COMMENT |
| LOW | .github/workflows/pr-test.yml | 87 | # Check if PR author is a member of ci-users team | COMMENT |
| LOW | .github/workflows/issue-claim.yml | 86 | # Check if issue already has assignees | COMMENT |
| LOW | .github/workflows/issue-claim.yml | 301 | # Check if user is now a collaborator (accepted invitation) | COMMENT |
| LOW | flashinfer/api_logging.py | 2083 | # Check if this parameter was provided | COMMENT |
| LOW | flashinfer/utils.py | 300 | # Check if it's a CUDA device | COMMENT |
| LOW | flashinfer/prefill.py | 523 | # Check if FP8 by presence of scale tensors | COMMENT |
| LOW | flashinfer/__main__.py | 460 | # Check if this is a single dump or a session / sequence root | COMMENT |
| LOW | flashinfer/cuda_utils.py | 20 | # Check if cuda.cudart module is available and import accordingly | COMMENT |
| LOW | flashinfer/autotuner/autotuner.py | 1582 | # Set time_measured to inf to notify the failure of the tactic. This can happen when | COMMENT |
| LOW | flashinfer/triton/sm_constraint_gemm.py | 66 | # Set num_sms to be 100% of the available SMs | COMMENT |
| LOW | flashinfer/comm/mnnvl.py | 988 | # Check if cuda.cudart is available and import accordingly | COMMENT |
| LOW | flashinfer/comm/mnnvl.py | 1025 | # Check if device supports multicasting | COMMENT |
| LOW | …ockscaled_contiguous_gather_grouped_gemm_act_fusion.py | 510 | # Check if we're doing FP4 quantization | COMMENT |
| LOW | …hinfer/fused_moe/cute_dsl/blackwell/custom_pipeline.py | 357 | # Set mask to None if not using clusters (i.e. 1CTA kernels) | COMMENT |
| LOW | …hinfer/fused_moe/cute_dsl/blackwell/custom_pipeline.py | 363 | # Set mask to None if not using 2CTA instructions | COMMENT |
| LOW | …blockscaled_contiguous_grouped_gemm_finalize_fusion.py | 688 | # Check if input data types are compatible with MMA instruction | COMMENT |
| LOW | …ockscaled_contiguous_gather_grouped_gemm_act_fusion.py | 853 | # Check if input data types are compatible with MMA instruction | COMMENT |
| LOW | flashinfer/gemm/kernels/dense_blockscaled_gemm_sm103.py | 359 | # Check if input data types are compatible with MMA instruction | COMMENT |
| LOW | flashinfer/gemm/kernels/dense_blockscaled_gemm_sm103.py | 994 | # Check if we're not at the last buffer of the last k_tile | COMMENT |
| LOW | flashinfer/gemm/kernels/dense_blockscaled_gemm_sm103.py | 1079 | # Check if we're not at the last stage of the last k_tile | COMMENT |
| LOW | …ashinfer/gemm/kernels/grouped_gemm_masked_blackwell.py | 904 | # Check if input data types are compatible with MMA instruction | COMMENT |
| LOW | …er/gemm/kernels/dense_blockscaled_gemm_sm100_common.py | 102 | # Check if input data types are compatible with MMA instruction | COMMENT |
| LOW | flashinfer/quantization/kernels/mxfp8_quantize.py | 605 | # Check if this thread's row is valid | COMMENT |
| LOW | flashinfer/cute_dsl/gemm_allreduce_two_shot.py | 519 | # Check if input data types are compatible with MMA instruction | COMMENT |
| LOW | flashinfer/testing/utils.py | 867 | # Check if args are provided (determines how we call fn) | COMMENT |
| LOW | flashinfer/testing/utils.py | 1164 | # Check if args are provided (determines how we call fn) | COMMENT |
| LOW | flashinfer/testing/utils.py | 1432 | # Check if args are provided (determines how we call fn) | COMMENT |
| LOW | flashinfer/jit/cpp_ext.py | 213 | # Check if module provides architecture flags | COMMENT |
| LOW | flashinfer/jit/fused_moe.py | 253 | # Check if checksums.txt exists in the cubin directory | COMMENT |
| LOW | flashinfer/jit/attention/modules.py | 1869 | # Check if checksums.txt exists in the cubin directory | COMMENT |
| LOW | flashinfer/jit/gemm/core.py | 673 | # Check if checksums.txt exists in the cubin directory | COMMENT |
| LOW | flashinfer/jit/gemm/core.py | 847 | # Check if checksums.txt exists in the cubin directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | flashinfer/green_ctx.py | 129 | Split the device into multiple `green contexts <https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__GREEN__CO | STRING |
| HIGH | flashinfer/green_ctx.py | 199 | Split the device into multiple green contexts, each with a fixed number of SMs, return the corresponding stream | STRING |
| HIGH | flashinfer/utils.py | 284 | Get GPU memory bandwidth in GB/s for the specified CUDA device. Args: device: torch.device object, e.g | STRING |
| HIGH | flashinfer/autotuner/autotuner.py | 96 | Map *x* to the nearest bucket using floor or ceil semantics. Args: x: The value to map. buckets: Bu | STRING |
| HIGH | flashinfer/autotuner/autotuner.py | 140 | Create a mapper function for :class:`DynamicTensorSpec.map_to_tuning_buckets`. The returned callable maps any integ | STRING |
| HIGH | flashinfer/autotuner/autotuner.py | 578 | Context manager for autotuning with optional file-based caching. Controls how FlashInfer profiles and selects the b | STRING |
| HIGH | flashinfer/autotuner/autotuner.py | 2092 | Load autotuner configs from a JSON file. Populates the internal config lookup table so that ``search_cache()`` | STRING |
| HIGH | …blockscaled_contiguous_grouped_gemm_finalize_fusion.py | 283 | Blockscaled Contiguous Grouped GEMM with Finalize Fusion for MoE workloads. Performs grouped matrix multiplication | STRING |
| HIGH | …ockscaled_contiguous_gather_grouped_gemm_act_fusion.py | 362 | Blockscaled Contiguous Gather Grouped GEMM with SwiGLU Fusion for MoE workloads. Performs grouped matrix multiplica | STRING |
| HIGH | flashinfer/gemm/gemm_bf16_fp4.py | 130 | Prepare FP4 weights for the bf16 x fp4 GEMM, for a specific backend. The caller is expected to start with weights i | STRING |
| HIGH | flashinfer/quantization/fp4_quantization.py | 408 | Quantize a batched tensor to FP4 (E2M1x2) with per-block scale factors. This function converts a float/bfloat16 | STRING |
| HIGH | flashinfer/quantization/fp4_quantization.py | 556 | Quantize a silu and matmul with masked batched tensor to FP4 (E2M1x2) with per-block scale factors. This functi | STRING |
| HIGH | flashinfer/parallel_attention/utils.py | 356 | Create a device mesh and return the Ring and Ulysses process groups. Builds a ``DeviceMesh`` with up to three dimen | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/trace/test_fi_trace_template_consistency.py | 313 | # To add a new kernel: no changes needed here — simply add | COMMENT |
| MEDIUM | tests/autotuner/test_autotuner_distributed.py | 220 | # independent of how the harness imported the tests (a ``spawn`` worker that | COMMENT |
| MEDIUM | tests/mamba/test_philox_rounding.py | 785 | """Software e4m3 SR matches hardware PTX path bitwise across a comprehensive | STRING |
| MEDIUM⚡ | tests/gdn/test_decode_delta_rule.py | 1266 | # Test MTP kernel with FP32 state, cache ON, state update ON (comprehensive) | COMMENT |
| LOW | tests/test_helpers/alibi_reference.py | 78 | # Since it's causal mask we can just use $[0, 1, \dots, N]$ too. | STRING |
| MEDIUM⚡ | tests/moe/test_unified_moe_fuzz.py | 692 | # different shape would produce a wrong answer here. (Shares the harness's snap/reference/prep.) | COMMENT |
| MEDIUM⚡ | benchmarks/bench_mamba_ssd_combined.py | 257 | # Layer 2: bench_mode — batched or varlen harness | COMMENT |
| MEDIUM | scripts/task_test_moe_ep_smoke.sh | 4 | # Run the moe_ep smoke + multi-rank harness via torchrun. | COMMENT |
| LOW | flashinfer/api_logging.py | 1547 | # The safest way is to just call the class constructor. | COMMENT |
| MEDIUM | flashinfer/aot.py | 277 | # The holistic (persistent) batch-attention kernel | COMMENT |
| MEDIUM | flashinfer/attention/_core.py | 160 | # head_dim > 256 is for holistic (persistent) kernel. | STRING |
| MEDIUM⚡ | …_backend_kernels/moe_nvfp4_swapab/epilogue_refactor.py | 517 | _EpilogueTokenTileSize = 64 # Fundamentally the epi_tile_n | CODE |
| MEDIUM⚡ | …_backend_kernels/moe_nvfp4_swapab/epilogue_refactor.py | 518 | _EpilogueFc1IntermediateGateUpTileSize = 128 # Fundamentally epi_tile_m | CODE |
| MEDIUM⚡ | …_backend_kernels/moe_nvfp4_swapab/epilogue_refactor.py | 519 | _EpilogueFc1IntermediateDownTileSize = 64 # Fundamentally epi_tile_m // 2 | CODE |
| MEDIUM⚡ | …_backend_kernels/moe_nvfp4_swapab/epilogue_refactor.py | 520 | _EpilogueFc2HiddenTileSize = 128 # Fundamentally epi_tile_m | CODE |
| MEDIUM | …ckend_kernels/moe_nvfp4_swapab/run_functional_tests.sh | 2 | # Functional test harness for the local fused fc1+fc2 MoE NVFP4 swap-AB runner. | COMMENT |
| MEDIUM | …dsl_backend_kernels/moe_nvfp4_swapab/run_mega_tests.sh | 2 | # Functional test harness for the distributed MegaMoE fused dispatch + fc1/fc2 | COMMENT |
| MEDIUM | …utedsl_backend_kernels/moe_nvfp4_swapab/mega_runner.py | 2486 | # to avoid recomputing it the harness keeps the global | COMMENT |
| MEDIUM | …_backend_kernels/moe_mxfp8_glu/run_functional_tests.sh | 2 | # Functional test harness for the MXFP8 GLU fused fc1+fc2 runner. | COMMENT |
| MEDIUM | …utedsl_backend_kernels/moe_mxfp8_glu/run_mega_tests.sh | 2 | # Functional test harness for the MXFP8 distributed MegaMoE fused dispatch + | COMMENT |
| MEDIUM | flashinfer/gemm/gemm_base.py | 6211 | # stays row-major (m, n). Pass swap_ab=False to the harness so it keeps | STRING |
| MEDIUM | flashinfer/jit/monomoe.py | 123 | # robust choice for a kernel that is SM90a-only by construction (it | COMMENT |
| MEDIUM | flashinfer/jit/attention/fmha_v2/generator_utils.py | 1760 | // distribute m steps to multiple blocks (fully utilize SMs) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/tutorials/jax_tvm_ffi/flashinfer_jax_tvm_ffi.py | 304 | # In this example, you should learn how minimal the JAX-TVM bridge can be when the function signature and ``arg_spec`` a | COMMENT |
| HIGH | docs/tutorials/jax_tvm_ffi/flashinfer_jax_tvm_ffi.py | 427 | # In this example, you should learn how to handle two new complications that were absent in Example 1: a TVM function th | COMMENT |
| HIGH | docs/tutorials/jax_tvm_ffi/flashinfer_jax_tvm_ffi.py | 644 | # In this example, you should learn about three patterns that appear together for the first time: a kernel **compiled se | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …utedsl_backend_kernels/moe_nvfp4_swapab/mega_runner.py | 2893 | # Top-level orchestration | COMMENT |
| MEDIUM | …utedsl_backend_kernels/moe_nvfp4_swapab/mega_runner.py | 1151 | # P0 scaffolding: tile-wise low-precision combine staging buffers. | COMMENT |
| MEDIUM | …utedsl_backend_kernels/moe_nvfp4_swapab/mega_runner.py | 3167 | # orchestration above is the part being smoke-tested for now. | COMMENT |
| MEDIUM⚡ | flashinfer/cute_dsl/attention/roles/epilogue.py | 80 | # Prefill orchestration — proven-correct inline implementation | COMMENT |
| MEDIUM⚡ | flashinfer/cute_dsl/attention/roles/loader_tma.py | 141 | # Prefill orchestration — proven-correct inline implementation | COMMENT |
| MEDIUM⚡ | flashinfer/cute_dsl/attention/roles/mma.py | 202 | # Prefill orchestration — uses primitives for GEMMs and TMEM lifecycle | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/utils/test_decorators.py | 15 | def my_function(x, y): | CODE |
| LOW | tests/utils/test_logging.py | 109 | def test_function(x, y): | CODE |
| LOW | tests/utils/test_logging.py | 135 | def test_function(tensor, value): | CODE |
| LOW | tests/utils/test_logging.py | 173 | def test_function(tensor): | CODE |
| LOW | tests/utils/test_logging.py | 201 | def test_function(mode: TestEnum, strategy: StringEnum): | CODE |
| LOW | tests/utils/test_logging.py | 231 | def test_function(x, y=10, z=20, mode=TestEnum.OPTION_A): | CODE |
| LOW | tests/utils/test_logging.py | 262 | def test_function(x, y=10, z=20): | CODE |
| LOW | tests/utils/test_logging.py | 359 | def test_function( | CODE |
| LOW | tests/utils/test_logging.py | 397 | def test_function(tensor): | CODE |
| LOW | tests/utils/test_logging.py | 430 | def test_function(nested): | CODE |
| LOW | tests/utils/test_logging.py | 495 | def test_function(x): | CODE |
| LOW | tests/utils/test_logging.py | 520 | def test_function(a, b, c): | CODE |
| LOW | flashinfer/api_logging.py | 2415 | ... def my_function(x, y): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | csrc/fmha_v2/fmha/utils.h | 66 | // Example usage: | COMMENT |
| LOW | scripts/list_apis.sh | 6 | # Usage: | COMMENT |
| LOW | …ckend_kernels/moe_nvfp4_swapab/run_functional_tests.sh | 10 | # Usage: | COMMENT |
| LOW | …dsl_backend_kernels/moe_nvfp4_swapab/run_mega_tests.sh | 17 | # Usage: | COMMENT |
| LOW | …_backend_kernels/moe_mxfp8_glu/run_functional_tests.sh | 18 | # Usage: | COMMENT |
| LOW | …utedsl_backend_kernels/moe_mxfp8_glu/run_mega_tests.sh | 22 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | .github/workflows/update-codeowners.yml | 76 | Auto-generated CODEOWNERS update based on commit activity over the last ${{ env.DAYS_BACK }} days. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flashinfer/comm/mnnvl.py | 798 | dummy_data = b"\x00" | CODE |
| LOW | flashinfer/comm/mnnvl.py | 805 | self.sock.sendmsg([dummy_data], ancillary, 0, dest_path) | CODE |