Efficient Triton Kernels for LLM Training
This report summarizes scanner evidence for linkedin/Liger-Kernel, a Python project with 6,653 GitHub stars. SynthScan examined 180,619 lines of code across 613 source files, recording 3191 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 29.4 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1661 finding(s).
Are imports declared and package/API names verified? 532 finding(s).
Are wrappers, guards, and repeated structures necessary? 2308 finding(s).
Which changes need focused human review? 3191 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 3191 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | benchmark/scripts/benchmark_model_configs.py | 122 | # ── MoE Model Profiles ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_model_configs.py | 134 | # ── Dense Model Profiles ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_model_configs.py | 579 | # --------------------------------------- | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_model_configs.py | 581 | # --------------------------------------- | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_fused_moe.py | 34 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_fused_moe.py | 37 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_fused_moe.py | 64 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_fused_moe.py | 66 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_fused_moe.py | 84 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_fused_moe.py | 86 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_fused_moe.py | 130 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_fused_moe.py | 132 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_fused_moe.py | 170 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/scripts/benchmark_fused_moe.py | 172 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | liger_cute_kernels/CMakeLists.txt | 1 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | liger_cute_kernels/CMakeLists.txt | 21 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | liger_cute_kernels/CMakeLists.txt | 136 | # ── NVSHMEM ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | liger_cute_kernels/CMakeLists.txt | 150 | # ── CUTLASS (header-only) ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | liger_cute_kernels/cute_build.py | 253 | # ── native wheel build (used by setup.py) ──────────────────────────────────── | COMMENT |
| MEDIUM | liger_cute_kernels/csrc/core/CMakeLists.txt | 1 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | liger_cute_kernels/csrc/core/CMakeLists.txt | 10 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | liger_cute_kernels/csrc/core/CMakeLists.txt | 458 | # ── ABI-agnostic hardening (Linux/ELF) ─────────────────────────────────────── | COMMENT |
| MEDIUM | …cute_kernels/csrc/core/include/liger_cute/liger_cute.h | 20 | // ── Status / error reporting (no exceptions across the ABI) ────────────────── | COMMENT |
| MEDIUM | …er_cute_kernels/csrc/core/include/liger_cute/nvshmem.h | 28 | // ─── Bootstrap / init ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …er_cute_kernels/csrc/core/include/liger_cute/nvshmem.h | 58 | // ─── PE queries (world) ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …er_cute_kernels/csrc/core/include/liger_cute/nvshmem.h | 62 | // ─── Teams ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …er_cute_kernels/csrc/core/include/liger_cute/nvshmem.h | 90 | // ─── Symmetric / device memory pools ───────────────────────────────────────── | COMMENT |
| MEDIUM | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 3 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 5 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 19 | // ── Why FOUR groups ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 35 | // ── FWD row field legend (12 args) ────────────────────────────────── | COMMENT |
| MEDIUM | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 54 | // ── BWD row field legend (14 args) ────────────────────────────────── | COMMENT |
| MEDIUM | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 78 | // ── COOPERATIVE mlp3 / mlp4 CONSTRAINT ────────────────────────────── | COMMENT |
| MEDIUM | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 90 | // ── X-macro structure caveat ──────────────────────────────────────── | COMMENT |
| MEDIUM | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 101 | // ── FWD · TileM=64 (N-split consumer, NC=2) ───────────────────────── | COMMENT |
| MEDIUM | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 121 | // ── BWD · TileM=64 (Phase-1 N-split, NC=2) ────────────────────────── | COMMENT |
| MEDIUM⚡ | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 160 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 162 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 169 | // ── FWD alternates ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 178 | // ── BWD alternates ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 3 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 5 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 19 | // ── Why FOUR groups ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 35 | // ── FWD row field legend (12 args) ────────────────────────────────── | COMMENT |
| MEDIUM | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 54 | // ── BWD row field legend (14 args) ────────────────────────────────── | COMMENT |
| MEDIUM | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 78 | // ── COOPERATIVE mlp3 / mlp4 CONSTRAINT ────────────────────────────── | COMMENT |
| MEDIUM | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 90 | // ── X-macro structure caveat ──────────────────────────────────────── | COMMENT |
| MEDIUM | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 101 | // ── FWD · TileM=64 (N-split consumer, NC=2) ───────────────────────── | COMMENT |
| MEDIUM | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 121 | // ── BWD · TileM=64 (Phase-1 N-split, NC=2) ────────────────────────── | COMMENT |
| MEDIUM⚡ | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 160 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 162 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 169 | // ── FWD alternates ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 178 | // ── BWD alternates ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 3 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 5 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 19 | // ── Why FOUR groups ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 35 | // ── FWD row field legend (12 args) ────────────────────────────────── | COMMENT |
| MEDIUM | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 54 | // ── BWD row field legend (14 args) ────────────────────────────────── | COMMENT |
| MEDIUM | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 78 | // ── COOPERATIVE mlp3 / mlp4 CONSTRAINT ────────────────────────────── | COMMENT |
| MEDIUM | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 90 | // ── X-macro structure caveat ──────────────────────────────────────── | COMMENT |
| 639 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 43 | def get_optional_dependencies(): | CODE |
| LOW | benchmark/BENCHMARK_GUIDELINES.md | 113 | def _resolve_model_config_geglu(input: SingleBenchmarkRunInput): | CODE |
| LOW | benchmark/BENCHMARK_GUIDELINES.md | 133 | def bench_speed_geglu_model_config(input): | CODE |
| LOW | …mark/scripts/benchmark_sparse_multi_token_attention.py | 74 | def _setup_sparse_multi_token_attention(input: SingleBenchmarkRunInput): | CODE |
| LOW | …mark/scripts/benchmark_sparse_multi_token_attention.py | 131 | def bench_speed_sparse_multi_token_attention(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | …mark/scripts/benchmark_sparse_multi_token_attention.py | 161 | def bench_memory_sparse_multi_token_attention(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | …mark/scripts/benchmark_sparse_multi_token_attention.py | 176 | def _resolve_model_config_sparse_multi_token_attention(input: SingleBenchmarkRunInput): | CODE |
| LOW | …mark/scripts/benchmark_sparse_multi_token_attention.py | 196 | def bench_speed_sparse_multi_token_attention_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | …mark/scripts/benchmark_sparse_multi_token_attention.py | 226 | def bench_memory_sparse_multi_token_attention_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_fused_linear_kl_div.py | 85 | def setup_fused_linear_kl_div(input: SingleBenchmarkRunInput): | CODE |
| LOW | benchmark/scripts/benchmark_modulated_rms_norm.py | 28 | def _setup_modulated_rms_norm(input: SingleBenchmarkRunInput): | CODE |
| LOW⚡ | benchmark/scripts/benchmark_modulated_rms_norm.py | 60 | def bench_speed_modulated_rms_norm(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW⚡ | benchmark/scripts/benchmark_modulated_rms_norm.py | 67 | def bench_memory_modulated_rms_norm(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW⚡ | benchmark/scripts/benchmark_modulated_rms_norm.py | 72 | def _resolve_model_config_modulated_rms_norm(input: SingleBenchmarkRunInput): | CODE |
| LOW | benchmark/scripts/benchmark_modulated_rms_norm.py | 89 | def bench_speed_modulated_rms_norm_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_modulated_rms_norm.py | 96 | def bench_memory_modulated_rms_norm_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_mhc.py | 158 | def _resolve_model_config_mhc(input: SingleBenchmarkRunInput): | CODE |
| LOW | benchmark/scripts/benchmark_mhc.py | 182 | def bench_speed_mhc_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_mhc.py | 208 | def bench_memory_mhc_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_grpo_loss_kernel.py | 141 | def bench_memory_grpo_loss_kernel( | CODE |
| LOW | benchmark/scripts/benchmark_grpo_loss_kernel.py | 197 | def bench_speed_grpo_loss_kernel( | CODE |
| LOW | benchmark/scripts/benchmark_tiled_mlp.py | 282 | def _resolve_model_config_tiled_mlp(input: SingleBenchmarkRunInput): | CODE |
| LOW | benchmark/scripts/benchmark_tiled_mlp.py | 303 | def bench_speed_tiled_mlp_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_tiled_mlp.py | 345 | def bench_memory_tiled_mlp_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_tiled_mlp.py | 379 | def _run_tiled_mlp_benchmarks(args, activation_type, hidden_act, kernel_name): | CODE |
| LOW | benchmark/scripts/benchmark_mhc_lm.py | 370 | def _resolve_model_config_mhc_lm(input: SingleBenchmarkRunInput): | CODE |
| LOW | benchmark/scripts/benchmark_mhc_lm.py | 393 | def bench_speed_mhc_lm_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_mhc_lm.py | 419 | def bench_memory_mhc_lm_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_megatron_swiglu.py | 93 | def bench_speed_megatron_swiglu(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_megatron_swiglu.py | 134 | def bench_memory_megatron_swiglu(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/utils.py | 245 | def get_current_file_directory() -> str: | CODE |
| LOW | benchmark/scripts/utils.py | 267 | def _print_benchmarking_banner(metric_name: str, kernel_name: str): | CODE |
| LOW | benchmark/scripts/utils.py | 289 | def update_benchmark_data_csv( | CODE |
| LOW | benchmark/scripts/utils.py | 489 | def parse_benchmark_script_args(): | CODE |
| LOW | …mark/scripts/benchmark_fused_neighborhood_attention.py | 59 | def _create_neighborhood_mask(self, seq_len: int, device: torch.device) -> torch.Tensor: | CODE |
| LOW | …mark/scripts/benchmark_fused_neighborhood_attention.py | 103 | def _setup_fused_neighborhood_attention(input: SingleBenchmarkRunInput): | CODE |
| LOW | …mark/scripts/benchmark_fused_neighborhood_attention.py | 166 | def bench_speed_fused_neighborhood_attention(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | …mark/scripts/benchmark_fused_neighborhood_attention.py | 202 | def bench_memory_fused_neighborhood_attention(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | …mark/scripts/benchmark_fused_neighborhood_attention.py | 217 | def _resolve_model_config_fused_neighborhood_attention(input: SingleBenchmarkRunInput): | CODE |
| LOW | …mark/scripts/benchmark_fused_neighborhood_attention.py | 238 | def bench_speed_fused_neighborhood_attention_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | …mark/scripts/benchmark_fused_neighborhood_attention.py | 272 | def bench_memory_fused_neighborhood_attention_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_distill_cosine_loss.py | 88 | def setup_distill_cosine_loss(input: SingleBenchmarkRunInput): | CODE |
| LOW | benchmark/scripts/benchmark_model_configs.py | 239 | def get_benchmark_model_config(model_name: Optional[str] = None) -> ModelConfig: | CODE |
| LOW | benchmark/scripts/benchmark_model_configs.py | 253 | def estimate_kernel_peak_memory(probe_fn: Callable[[], torch.Tensor]) -> int: | CODE |
| LOW | benchmark/scripts/benchmark_model_configs.py | 322 | def compute_seq_len_sweep_config( | CODE |
| LOW | benchmark/scripts/benchmark_model_configs.py | 381 | def compute_model_config_sweep_config( | CODE |
| LOW | …chmark/scripts/benchmark_fused_linear_cross_entropy.py | 60 | def _chunk_mem_const_from_provider(provider: str) -> int | None: | CODE |
| LOW | …chmark/scripts/benchmark_fused_linear_cross_entropy.py | 132 | def setup_fused_linear_cross_entropy(input: SingleBenchmarkRunInput): | CODE |
| LOW | benchmark/scripts/benchmark_megatron_rms_norm.py | 89 | def bench_speed_megatron_rms_norm(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_megatron_rms_norm.py | 128 | def bench_memory_megatron_rms_norm(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_multi_token_attention.py | 48 | def _setup_multi_token_attention(input: SingleBenchmarkRunInput): | CODE |
| LOW | benchmark/scripts/benchmark_multi_token_attention.py | 101 | def bench_speed_multi_token_attention(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_multi_token_attention.py | 131 | def bench_memory_multi_token_attention(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_multi_token_attention.py | 147 | def _resolve_model_config_multi_token_attention(input: SingleBenchmarkRunInput): | CODE |
| LOW | benchmark/scripts/benchmark_multi_token_attention.py | 168 | def bench_speed_multi_token_attention_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | benchmark/scripts/benchmark_multi_token_attention.py | 198 | def bench_memory_multi_token_attention_model_config(input: SingleBenchmarkRunInput) -> SingleBenchmarkRunOutput: | CODE |
| LOW | liger_cute_kernels/cute_build.py | 180 | def _stage_optional_core_artifacts(source_root: Path, out_dir: Path, *, required: bool) -> None: | CODE |
| LOW | liger_cute_kernels/liger_cute_kernels/tvm_ffi.py | 357 | def fused_linear_scaled_cross_entropy_configure_forward( | CODE |
| LOW | liger_cute_kernels/liger_cute_kernels/tvm_ffi.py | 375 | def fused_linear_scaled_cross_entropy_configure_backward( | CODE |
| LOW | liger_cute_kernels/liger_cute_kernels/tvm_ffi.py | 402 | def fused_linear_scaled_cross_entropy_configure_context( | CODE |
| 1122 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | benchmark/scripts/benchmark_mlp.py | 0 | create input tensor and layer from benchmark config. | STRING |
| HIGH | benchmark/scripts/benchmark_rms_norm.py | 0 | create input tensor and layer from benchmark config. | STRING |
| HIGH | benchmark/scripts/benchmark_swiglu.py | 0 | create input tensor and layer from benchmark config. | STRING |
| HIGH | benchmark/scripts/benchmark_geglu.py | 0 | create input tensor and layer from benchmark config. | STRING |
| HIGH | benchmark/scripts/benchmark_layer_norm.py | 0 | create input tensor and layer from benchmark config. | STRING |
| HIGH | benchmark/scripts/benchmark_dyt.py | 0 | create input tensor and layer from benchmark config. | STRING |
| HIGH | benchmark/scripts/benchmark_group_norm.py | 0 | create input tensor and layer from benchmark config. | STRING |
| HIGH | benchmark/scripts/benchmark_poly_norm.py | 0 | create input tensor and layer from benchmark config. | STRING |
| HIGH | .agents/skills/liger-kernel-dev/templates/benchmark.md | 0 | create input tensor and layer from benchmark config. | STRING |
| HIGH | liger_cute_kernels/test/test_moe_cuda_graph.py | 0 | largest power-of-two divisor of e that fits the available gpus (>= 2). | STRING |
| HIGH | test/cute/test_moe_autograd.py | 0 | largest power-of-two divisor of e that fits the available gpus (>= 2). | STRING |
| HIGH | test/cute/test_moe.py | 0 | largest power-of-two divisor of e that fits the available gpus (>= 2). | STRING |
| HIGH | test/cutedsl/test_swiglu.py | 0 | ground-truth silu-mul reference (silu(a * gate) * b * down) computed in fp32. | STRING |
| HIGH | test/transformers/test_swiglu.py | 0 | ground-truth silu-mul reference (silu(a * gate) * b * down) computed in fp32. | STRING |
| HIGH | test/cutile/test_swiglu.py | 0 | ground-truth silu-mul reference (silu(a * gate) * b * down) computed in fp32. | STRING |
| HIGH | test/cutedsl/test_swiglu.py | 0 | harmonized (atol, rtol) for the shared plain silu-mul tests. | STRING |
| HIGH | test/transformers/test_swiglu.py | 0 | harmonized (atol, rtol) for the shared plain silu-mul tests. | STRING |
| HIGH | test/cutile/test_swiglu.py | 0 | harmonized (atol, rtol) for the shared plain silu-mul tests. | STRING |
| HIGH | test/cutedsl/test_swiglu.py | 0 | forward + backward vs the fp32 silu-mul reference across shapes/dtypes. | STRING |
| HIGH | test/transformers/test_swiglu.py | 0 | forward + backward vs the fp32 silu-mul reference across shapes/dtypes. | STRING |
| HIGH | test/cutile/test_swiglu.py | 0 | forward + backward vs the fp32 silu-mul reference across shapes/dtypes. | STRING |
| HIGH | test/cutedsl/test_swiglu.py | 0 | arbitrary >=1-d shapes: forward + backward vs the fp32 reference; shape preserved. | STRING |
| HIGH | test/transformers/test_swiglu.py | 0 | arbitrary >=1-d shapes: forward + backward vs the fp32 reference; shape preserved. | STRING |
| HIGH | test/cutile/test_swiglu.py | 0 | arbitrary >=1-d shapes: forward + backward vs the fp32 reference; shape preserved. | STRING |
| HIGH | test/convergence/fp32/test_mini_models_multimodal.py | 0 | create a mini version model the commented values are the original values | STRING |
| HIGH | test/convergence/fp32/test_mini_models_with_logits.py | 0 | create a mini version model the commented values are the original values | STRING |
| HIGH | test/convergence/fp32/test_mini_models.py | 0 | create a mini version model the commented values are the original values | STRING |
| HIGH | test/convergence/bf16/test_mini_models_multimodal.py | 0 | create a mini version model the commented values are the original values | STRING |
| HIGH | test/convergence/bf16/test_mini_models_with_logits.py | 0 | create a mini version model the commented values are the original values | STRING |
| HIGH | test/convergence/bf16/test_mini_models.py | 0 | create a mini version model the commented values are the original values | STRING |
| HIGH | test/ops/test_layer_norm.py | 0 | ``liger_kernel.set_backend(name)`` pins dispatch to ``name`` when no explicit backend is passed; ``set_backend(none)`` r | STRING |
| HIGH | test/ops/test_rms_norm.py | 0 | ``liger_kernel.set_backend(name)`` pins dispatch to ``name`` when no explicit backend is passed; ``set_backend(none)`` r | STRING |
| HIGH | test/ops/test_softmax.py | 0 | ``liger_kernel.set_backend(name)`` pins dispatch to ``name`` when no explicit backend is passed; ``set_backend(none)`` r | STRING |
| HIGH | test/ops/test_fused_add_rms_norm.py | 0 | cross-backend correctness tests for ``fused_linear_jsd``. each backend registered for ``fused_linear_jsd`` is exercised | STRING |
| HIGH | test/ops/test_swiglu.py | 0 | cross-backend correctness tests for ``fused_linear_jsd``. each backend registered for ``fused_linear_jsd`` is exercised | STRING |
| HIGH | test/ops/test_geglu.py | 0 | cross-backend correctness tests for ``fused_linear_jsd``. each backend registered for ``fused_linear_jsd`` is exercised | STRING |
| HIGH | test/ops/test_kl_div.py | 0 | cross-backend correctness tests for ``fused_linear_jsd``. each backend registered for ``fused_linear_jsd`` is exercised | STRING |
| HIGH | test/ops/test_fused_linear_cross_entropy.py | 0 | cross-backend correctness tests for ``fused_linear_jsd``. each backend registered for ``fused_linear_jsd`` is exercised | STRING |
| HIGH | test/ops/test_fused_linear_jsd.py | 0 | cross-backend correctness tests for ``fused_linear_jsd``. each backend registered for ``fused_linear_jsd`` is exercised | STRING |
| HIGH | test/ops/test_fused_add_rms_norm.py | 0 | forward + backward parity against the pytorch fused_linear_jsd reference. | STRING |
| HIGH | test/ops/test_swiglu.py | 0 | forward + backward parity against the pytorch fused_linear_jsd reference. | STRING |
| HIGH | test/ops/test_geglu.py | 0 | forward + backward parity against the pytorch fused_linear_jsd reference. | STRING |
| HIGH | test/ops/test_kl_div.py | 0 | forward + backward parity against the pytorch fused_linear_jsd reference. | STRING |
| HIGH | test/ops/test_fused_linear_cross_entropy.py | 0 | forward + backward parity against the pytorch fused_linear_jsd reference. | STRING |
| HIGH | test/ops/test_fused_linear_jsd.py | 0 | forward + backward parity against the pytorch fused_linear_jsd reference. | STRING |
| HIGH | test/ops/test_fused_add_rms_norm.py | 0 | sanity: the triton implementation should always be available. | STRING |
| HIGH | test/ops/test_swiglu.py | 0 | sanity: the triton implementation should always be available. | STRING |
| HIGH | test/ops/test_geglu.py | 0 | sanity: the triton implementation should always be available. | STRING |
| HIGH | test/ops/test_kl_div.py | 0 | sanity: the triton implementation should always be available. | STRING |
| HIGH | test/ops/test_fused_linear_kl_div.py | 0 | sanity: the triton implementation should always be available. | STRING |
| HIGH | test/ops/test_fused_linear_cross_entropy.py | 0 | sanity: the triton implementation should always be available. | STRING |
| HIGH | test/ops/test_fused_linear_jsd.py | 0 | sanity: the triton implementation should always be available. | STRING |
| HIGH | src/liger_kernel/transformers/model/olmo3.py | 0 | labels (`torch.longtensor` of shape `(batch_size, sequence_length)`, *optional*): labels for computing the masked langua | STRING |
| HIGH | src/liger_kernel/transformers/model/mistral.py | 0 | labels (`torch.longtensor` of shape `(batch_size, sequence_length)`, *optional*): labels for computing the masked langua | STRING |
| HIGH | src/liger_kernel/transformers/model/olmo2.py | 0 | labels (`torch.longtensor` of shape `(batch_size, sequence_length)`, *optional*): labels for computing the masked langua | STRING |
| HIGH | src/liger_kernel/transformers/model/ministral.py | 0 | labels (`torch.longtensor` of shape `(batch_size, sequence_length)`, *optional*): labels for computing the masked langua | STRING |
| HIGH | src/liger_kernel/transformers/model/qwen3_moe.py | 0 | labels (`torch.longtensor` of shape `(batch_size, sequence_length)`, *optional*): labels for computing the masked langua | STRING |
| HIGH | src/liger_kernel/transformers/model/nemotron.py | 0 | labels (`torch.longtensor` of shape `(batch_size, sequence_length)`, *optional*): labels for computing the masked langua | STRING |
| HIGH | src/liger_kernel/transformers/model/llama.py | 0 | labels (`torch.longtensor` of shape `(batch_size, sequence_length)`, *optional*): labels for computing the masked langua | STRING |
| HIGH | src/liger_kernel/transformers/model/qwen3_5.py | 0 | labels (`torch.longtensor` of shape `(batch_size, sequence_length)`, *optional*): labels for computing the masked langua | STRING |
| 39 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/scripts/benchmark_megatron_cross_entropy.py | 32 | CODE | |
| LOW | liger_cute_kernels/cute_build.py | 18 | CODE | |
| LOW | liger_cute_kernels/liger_cute_kernels/configuration.py | 3 | CODE | |
| LOW | liger_cute_kernels/liger_cute_kernels/__init__.py | 22 | CODE | |
| LOW | liger_cute_kernels/liger_cute_kernels/__init__.py | 24 | CODE | |
| LOW | liger_cute_kernels/liger_cute_kernels/__init__.py | 25 | CODE | |
| LOW | liger_cute_kernels/liger_cute_kernels/__init__.py | 26 | CODE | |
| LOW | liger_cute_kernels/liger_cute_kernels/__init__.py | 27 | CODE | |
| LOW | liger_cute_kernels/liger_cute_kernels/tvm_ffi.py | 7 | CODE | |
| LOW | liger_cute_kernels/liger_cute_kernels/nvshmem.py | 22 | CODE | |
| LOW | liger_cute_kernels/test/test_moe_team_setup.py | 1 | CODE | |
| LOW | liger_cute_kernels/test/test_moe_cuda_graph.py | 24 | CODE | |
| LOW | liger_cute_kernels/test/test_fslce_teams.py | 1 | CODE | |
| LOW | liger_cute_kernels/test/test_configuration.py | 3 | CODE | |
| LOW | liger_cute_kernels/test/test_tvm_ffi_loader.py | 1 | CODE | |
| LOW | liger_cute_kernels/test/test_cute_build.py | 1 | CODE | |
| LOW | …er_cute_kernels/test/test_export_nonrdc_nvshmem_ptx.py | 1 | CODE | |
| LOW | liger_cute_kernels/test/test_nvshmem.py | 25 | CODE | |
| LOW | liger_cute_kernels/cmake/export_nonrdc_nvshmem_ptx.py | 4 | CODE | |
| LOW | …ark_fused_scaled_linear_cross_entropy_forward_sm100.py | 3 | CODE | |
| LOW | …rk_fused_scaled_linear_cross_entropy_backward_sm100.py | 3 | CODE | |
| LOW | …te_fused_scaled_linear_cross_entropy_backward_sm100.py | 3 | CODE | |
| LOW | test/cute/test_moe_autograd.py | 26 | CODE | |
| LOW | test/cute/test_moe_autograd.py | 49 | CODE | |
| LOW | test/cute/test_fused_linear_scaled_cross_entropy_tp.py | 3 | CODE | |
| LOW | test/cute/test_moe.py | 24 | CODE | |
| LOW | test/cutedsl/test_shape_fallbacks.py | 11 | CODE | |
| LOW | test/cutedsl/test_fused_add_rms_norm.py | 25 | CODE | |
| LOW | test/cutedsl/test_fused_add_rms_norm.py | 40 | CODE | |
| LOW | test/cutedsl/test_gap_ops.py | 20 | CODE | |
| LOW | test/cutedsl/test_gap_ops.py | 33 | CODE | |
| LOW | test/backends/test_registry.py | 9 | CODE | |
| LOW | test/backends/test_capability.py | 7 | CODE | |
| LOW | test/backends/test_capability_device.py | 11 | CODE | |
| LOW | test/convergence/fp32/test_mini_models_multimodal.py | 326 | CODE | |
| LOW | test/convergence/bf16/test_mini_models_multimodal.py | 298 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 336 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 337 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 338 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 339 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 340 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 341 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 342 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 343 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 344 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 345 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 346 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 347 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 348 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 349 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 350 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 351 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 352 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 353 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 354 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 355 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 356 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 357 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 358 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 359 | CODE | |
| 462 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | setup.py | 98 | except (subprocess.SubprocessError, FileNotFoundError): | CODE |
| HIGH | setup.py | 105 | except (subprocess.SubprocessError, FileNotFoundError): | CODE |
| HIGH | setup.py | 120 | except (subprocess.SubprocessError, FileNotFoundError): | CODE |
| HIGH | liger_cute_kernels/test/test_moe_cuda_graph.py | 578 | except Exception: | CODE |
| HIGH | liger_cute_kernels/test/test_moe_cuda_graph.py | 640 | except Exception: | CODE |
| HIGH | liger_cute_kernels/test/test_moe_cuda_graph.py | 738 | except Exception: | CODE |
| HIGH | liger_cute_kernels/test/test_moe_cuda_graph.py | 795 | except Exception: | CODE |
| HIGH | liger_cute_kernels/test/test_moe_cuda_graph.py | 926 | except Exception: | CODE |
| HIGH | liger_cute_kernels/test/test_moe_cuda_graph.py | 1050 | except Exception: | CODE |
| HIGH | liger_cute_kernels/test/test_moe_cuda_graph.py | 1212 | except Exception: | CODE |
| HIGH | liger_cute_kernels/test/test_moe_cuda_graph.py | 1327 | except Exception: | CODE |
| HIGH | liger_cute_kernels/test/test_fslce_teams.py | 266 | except Exception: | CODE |
| HIGH | liger_cute_kernels/test/test_nvshmem.py | 364 | except Exception: | CODE |
| HIGH | liger_cute_kernels/test/test_nvshmem.py | 449 | except Exception: | CODE |
| HIGH | liger_cute_kernels/test/test_nvshmem.py | 453 | except Exception: | CODE |
| HIGH | test/conftest.py | 42 | except Exception: | CODE |
| HIGH | test/cute/test_moe_autograd.py | 294 | except Exception: | CODE |
| HIGH | test/cute/test_fused_linear_scaled_cross_entropy_tp.py | 296 | except Exception: | CODE |
| HIGH | test/cute/test_fused_linear_scaled_cross_entropy_tp.py | 292 | except Exception: | CODE |
| HIGH | test/cute/test_moe.py | 255 | except Exception: | CODE |
| HIGH | test/transformers/test_swiglu.py | 13 | except Exception: | CODE |
| HIGH | test/transformers/test_rms_norm.py | 14 | except Exception: | CODE |
| HIGH | test/ops/test_jsd_chunk_ignore_regression.py | 26 | except Exception: # pragma: no cover (not registered / runtime missing) | CODE |
| HIGH | test/megatron/test_monkey_patch.py | 1273 | except Exception: | CODE |
| HIGH | src/liger_kernel/ops/swiglu.py | 12 | except ImportError: | CODE |
| HIGH | src/liger_kernel/ops/rms_norm.py | 27 | except ImportError: | CODE |
| HIGH | src/liger_kernel/ops/cutedsl/ops/swiglu.py | 56 | except ImportError: | CODE |
| HIGH | src/liger_kernel/ops/cutedsl/ops/rms_norm.py | 1202 | except Exception: | CODE |
| HIGH | src/liger_kernel/ops/cutedsl/ops/rms_norm.py | 79 | except Exception: | CODE |
| HIGH | src/liger_kernel/ops/backends/_ascend/ub_manager.py | 176 | except Exception: | CODE |
| HIGH | src/liger_kernel/ops/backends/_ascend/ub_manager.py | 198 | except ValueError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …mark/scripts/benchmark_fused_neighborhood_attention.py | 100 | CODE | |
| LOW | benchmark/scripts/benchmark_model_configs.py | 448 | CODE | |
| LOW | benchmark/scripts/benchmark_model_configs.py | 525 | CODE | |
| LOW | test/cutedsl/test_cross_entropy.py | 76 | CODE | |
| LOW | test/cutedsl/test_cross_entropy.py | 115 | CODE | |
| LOW | test/cutedsl/test_fused_linear_cross_entropy.py | 60 | CODE | |
| LOW | test/cutedsl/test_fused_linear_cross_entropy.py | 147 | CODE | |
| LOW | test/transformers/test_flex_attention.py | 118 | CODE | |
| LOW | test/transformers/test_fused_neighborhood_attention.py | 435 | CODE | |
| LOW | test/transformers/test_fused_neighborhood_attention.py | 93 | CODE | |
| LOW | test/transformers/test_fused_neighborhood_attention.py | 225 | CODE | |
| LOW | test/transformers/test_poly_norm.py | 78 | CODE | |
| LOW | test/transformers/test_fused_linear_cross_entropy.py | 37 | CODE | |
| LOW | test/transformers/test_fused_linear_cross_entropy.py | 71 | CODE | |
| LOW | test/ops/test_fused_linear_cross_entropy.py | 503 | CODE | |
| LOW | test/chunked_loss/test_dpo_loss.py | 636 | CODE | |
| LOW | test/chunked_loss/test_grpo_loss.py | 35 | CODE | |
| LOW | test/chunked_loss/test_grpo_loss.py | 81 | CODE | |
| LOW | test/chunked_loss/test_grpo_loss.py | 294 | CODE | |
| LOW | examples/medusa/medusa_util.py | 130 | CODE | |
| LOW | src/liger_kernel/functional.py | 189 | CODE | |
| LOW | src/liger_kernel/functional.py | 444 | CODE | |
| LOW | src/liger_kernel/functional.py | 672 | CODE | |
| LOW | src/liger_kernel/backends/registry.py | 158 | CODE | |
| LOW | src/liger_kernel/transformers/fsdp.py | 50 | CODE | |
| LOW | src/liger_kernel/transformers/cross_entropy.py | 11 | CODE | |
| LOW | …iger_kernel/transformers/fused_linear_cross_entropy.py | 10 | CODE | |
| LOW | src/liger_kernel/transformers/grpo_loss.py | 9 | CODE | |
| LOW | src/liger_kernel/transformers/functional.py | 46 | CODE | |
| LOW | src/liger_kernel/transformers/functional.py | 83 | CODE | |
| LOW | …er_kernel/transformers/fused_neighborhood_attention.py | 114 | CODE | |
| LOW | …er_kernel/transformers/fused_neighborhood_attention.py | 193 | CODE | |
| LOW | …er_kernel/transformers/fused_neighborhood_attention.py | 204 | CODE | |
| LOW | src/liger_kernel/transformers/model/olmo3.py | 15 | CODE | |
| LOW | src/liger_kernel/transformers/model/phi3.py | 15 | CODE | |
| LOW | src/liger_kernel/transformers/model/internvl.py | 17 | CODE | |
| LOW | src/liger_kernel/transformers/model/muse_glimmer.py | 16 | CODE | |
| LOW | src/liger_kernel/transformers/model/qwen2_vl.py | 34 | CODE | |
| LOW | src/liger_kernel/transformers/model/llama4.py | 15 | CODE | |
| LOW | src/liger_kernel/transformers/model/qwen3_vl_moe.py | 17 | CODE | |
| LOW | src/liger_kernel/transformers/model/mistral.py | 15 | CODE | |
| LOW | src/liger_kernel/transformers/model/deepseek_v4.py | 10 | CODE | |
| LOW | src/liger_kernel/transformers/model/olmo2.py | 13 | CODE | |
| LOW | src/liger_kernel/transformers/model/paligemma.py | 20 | CODE | |
| LOW | src/liger_kernel/transformers/model/qwen2_5_vl.py | 34 | CODE | |
| LOW | src/liger_kernel/transformers/model/ministral.py | 14 | CODE | |
| LOW | src/liger_kernel/transformers/model/qwen3_vl.py | 16 | CODE | |
| LOW | src/liger_kernel/transformers/model/gemma4.py | 25 | CODE | |
| LOW | src/liger_kernel/transformers/model/gemma4.py | 162 | CODE | |
| LOW | src/liger_kernel/transformers/model/qwen3_moe.py | 15 | CODE | |
| LOW | src/liger_kernel/transformers/model/nemotron.py | 16 | CODE | |
| LOW | src/liger_kernel/transformers/model/llava.py | 13 | CODE | |
| LOW | src/liger_kernel/transformers/model/mllama.py | 15 | CODE | |
| LOW | src/liger_kernel/transformers/model/llama.py | 24 | CODE | |
| LOW | src/liger_kernel/transformers/model/qwen3_5.py | 17 | CODE | |
| LOW | src/liger_kernel/transformers/model/qwen3_5.py | 129 | CODE | |
| LOW | src/liger_kernel/transformers/model/gemma2.py | 18 | CODE | |
| LOW | src/liger_kernel/transformers/model/glm4.py | 13 | CODE | |
| LOW | src/liger_kernel/transformers/model/smolvlm.py | 21 | CODE | |
| LOW | src/liger_kernel/transformers/model/hunyuan_v1.py | 12 | CODE | |
| 68 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 22 | CODE | |
| LOW | setup.py | 125 | CODE | |
| LOW | benchmark/benchmarks_visualizer.py | 177 | CODE | |
| LOW | …k/scripts/benchmark_fused_scaled_cross_entropy_sm90.py | 143 | CODE | |
| LOW | benchmark/scripts/benchmark_mhc.py | 29 | CODE | |
| LOW | benchmark/scripts/benchmark_tvd.py | 24 | CODE | |
| LOW | benchmark/scripts/benchmark_tiled_mlp.py | 162 | CODE | |
| LOW | benchmark/scripts/benchmark_tiled_mlp.py | 61 | CODE | |
| LOW | benchmark/scripts/benchmark_megatron_swiglu.py | 93 | CODE | |
| LOW | benchmark/scripts/utils.py | 117 | CODE | |
| LOW | benchmark/scripts/utils.py | 289 | CODE | |
| LOW | benchmark/scripts/utils.py | 388 | CODE | |
| LOW | benchmark/scripts/benchmark_model_configs.py | 525 | CODE | |
| LOW | benchmark/scripts/benchmark_megatron_rms_norm.py | 69 | CODE | |
| LOW | benchmark/scripts/benchmark_megatron_cross_entropy.py | 105 | CODE | |
| LOW | benchmark/scripts/benchmark_megatron_cross_entropy.py | 184 | CODE | |
| LOW | liger_cute_kernels/cute_build.py | 153 | CODE | |
| LOW | liger_cute_kernels/liger_cute_kernels/configuration.py | 213 | CODE | |
| LOW | liger_cute_kernels/test/test_moe_cuda_graph.py | 319 | CODE | |
| LOW | liger_cute_kernels/test/test_moe_cuda_graph.py | 1063 | CODE | |
| LOW | liger_cute_kernels/test/test_fslce_teams.py | 83 | CODE | |
| LOW | liger_cute_kernels/test/test_nvshmem.py | 267 | CODE | |
| LOW | …rk_fused_scaled_linear_cross_entropy_backward_sm100.py | 63 | CODE | |
| LOW | test/cute/test_fused_linear_scaled_cross_entropy_tp.py | 160 | CODE | |
| LOW | test/cute/test_fused_linear_scaled_cross_entropy_tp.py | 334 | CODE | |
| LOW | test/convergence/fp32/test_mini_models_multimodal.py | 1255 | CODE | |
| LOW | test/convergence/bf16/test_mini_models_multimodal.py | 1138 | CODE | |
| LOW | test/transformers/test_tvd.py | 16 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 689 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 786 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 883 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 951 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 1060 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 1169 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 1860 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 1910 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 1991 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 2785 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 3656 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 3856 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 3937 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 4062 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 4124 | CODE | |
| LOW | test/transformers/test_monkey_patch.py | 4315 | CODE | |
| LOW | test/transformers/test_grpo_loss.py | 484 | CODE | |
| LOW | test/transformers/test_grpo_loss.py | 713 | CODE | |
| LOW | test/ops/test_fused_linear_cross_entropy.py | 359 | CODE | |
| LOW | test/chunked_loss/test_dpo_loss.py | 919 | CODE | |
| LOW | test/chunked_loss/test_grpo_loss.py | 1057 | CODE | |
| LOW | test/chunked_loss/test_grpo_loss.py | 81 | CODE | |
| LOW | test/chunked_loss/test_grpo_loss.py | 203 | CODE | |
| LOW | examples/medusa/callback.py | 363 | CODE | |
| LOW | examples/medusa/train.py | 131 | CODE | |
| LOW | src/liger_kernel/utils.py | 17 | CODE | |
| LOW | src/liger_kernel/transformers/monkey_patch.py | 469 | CODE | |
| LOW | src/liger_kernel/transformers/monkey_patch.py | 559 | CODE | |
| LOW | src/liger_kernel/transformers/monkey_patch.py | 833 | CODE | |
| LOW | src/liger_kernel/transformers/monkey_patch.py | 906 | CODE | |
| LOW | src/liger_kernel/transformers/monkey_patch.py | 1215 | CODE | |
| LOW | src/liger_kernel/transformers/monkey_patch.py | 1302 | CODE | |
| 81 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/benchmarks_visualizer.py | 210 | except Exception as e: | CODE |
| LOW | benchmark/benchmarks_visualizer.py | 356 | except Exception: | CODE |
| LOW⚡ | liger_cute_kernels/test/test_moe_cuda_graph.py | 795 | except Exception: | CODE |
| LOW | liger_cute_kernels/test/test_moe_cuda_graph.py | 578 | except Exception: | CODE |
| LOW | liger_cute_kernels/test/test_moe_cuda_graph.py | 640 | except Exception: | CODE |
| LOW | liger_cute_kernels/test/test_moe_cuda_graph.py | 738 | except Exception: | CODE |
| LOW | liger_cute_kernels/test/test_moe_cuda_graph.py | 926 | except Exception: | CODE |
| LOW | liger_cute_kernels/test/test_moe_cuda_graph.py | 1050 | except Exception: | CODE |
| LOW | liger_cute_kernels/test/test_moe_cuda_graph.py | 1212 | except Exception: | CODE |
| LOW | liger_cute_kernels/test/test_moe_cuda_graph.py | 1327 | except Exception: | CODE |
| LOW | liger_cute_kernels/test/test_fslce_teams.py | 266 | except Exception: | CODE |
| LOW | liger_cute_kernels/test/test_nvshmem.py | 364 | except Exception: | CODE |
| LOW | liger_cute_kernels/test/test_nvshmem.py | 449 | except Exception: | CODE |
| LOW | liger_cute_kernels/test/test_nvshmem.py | 453 | except Exception: | CODE |
| LOW | test/conftest.py | 42 | except Exception: | CODE |
| LOW | test/cute/test_moe_autograd.py | 294 | except Exception: | CODE |
| LOW | test/cute/test_fused_linear_scaled_cross_entropy_tp.py | 292 | except Exception: | CODE |
| LOW | test/cute/test_fused_linear_scaled_cross_entropy_tp.py | 296 | except Exception: | CODE |
| LOW | test/cute/test_moe.py | 255 | except Exception: | CODE |
| MEDIUM | test/backends/test_registry.py | 793 | def test_subclass_rejects_dispatch_kwargs(self, subclass_name, dispatch_kwarg): | CODE |
| LOW | test/backends/test_registry.py | 796 | except Exception as e: | CODE |
| LOW | test/triton/test_triton_monkey_patch.py | 13 | except Exception: | CODE |
| MEDIUM | test/triton/test_triton_monkey_patch.py | 10 | def test_import_from_root(): | CODE |
| LOW | test/transformers/test_llama4_rope.py | 17 | except Exception: | CODE |
| LOW | test/transformers/test_swiglu.py | 13 | except Exception: | CODE |
| LOW | test/transformers/test_qwen2vl_mrope.py | 12 | except Exception: | CODE |
| LOW | test/transformers/test_rms_norm.py | 14 | except Exception: | CODE |
| MEDIUM | test/transformers/test_monkey_patch.py | 73 | def is_mllama_available(): | CODE |
| LOW⚡ | test/transformers/test_monkey_patch.py | 360 | except Exception: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 561 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 684 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 781 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 878 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 946 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1055 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1164 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1244 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1319 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1414 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1459 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1505 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1602 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1731 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1813 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1856 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1905 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 1986 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2068 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2122 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2162 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2210 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2269 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2362 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2461 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2569 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2653 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2692 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2779 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2838 | except Exception as e: | CODE |
| LOW | test/transformers/test_monkey_patch.py | 2907 | except Exception as e: | CODE |
| 72 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | liger_cute_kernels/CMakeLists.txt | 1 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| LOW | liger_cute_kernels/csrc/core/CMakeLists.txt | 1 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| LOW | liger_cute_kernels/csrc/core/include/liger_cute/moe.h | 1 | // moe.h — flat MoE control ABI for liger_cute_kernels.so. | COMMENT |
| LOW | …ger_cute_kernels/csrc/core/include/liger_cute/export.h | 1 | // export.h — symbol-visibility control for liger_cute_kernels. | COMMENT |
| LOW | …cute_kernels/csrc/core/include/liger_cute/liger_cute.h | 1 | // liger_cute.h — public ABI of liger_cute_kernels.so. | COMMENT |
| LOW | …er_cute_kernels/csrc/core/include/liger_cute/nvshmem.h | 1 | // nvshmem.h — flat extern "C" ABI for NVSHMEM bootstrap, teams, and memory pools. | COMMENT |
| LOW | …er_cute_kernels/csrc/core/include/liger_cute/nvshmem.h | 21 | #include "liger_cute/export.h" | COMMENT |
| LOW | …er_cute_kernels/csrc/core/include/liger_cute/nvshmem.h | 41 | // describe the calling PE's position in the bootstrap group; `uid` must point to | COMMENT |
| LOW | …er_cute_kernels/csrc/core/include/liger_cute/nvshmem.h | 81 | liger_cute_nvshmem_team_n_pes(int64_t team_handle, int* out); | COMMENT |
| LOW | liger_cute_kernels/csrc/core/include/liger_cute/check.h | 1 | // check.h — LIGER_CHECK: torch-free precondition/argument checks for the core. | COMMENT |
| LOW | …e_kernels/csrc/core/include/liger_cute/detail/status.h | 1 | // status.h — CORE-INTERNAL error reporting + the exception->status guard. | COMMENT |
| LOW | …csrc/core/include/liger_cute/detail/symmetric_memory.h | 1 | // symmetric_memory.h — CORE-INTERNAL symmetric/device allocators. | COMMENT |
| LOW | …r_cute_kernels/csrc/core/src/moe/moe_nonrdc_module.cpp | 1 | #include "moe_nonrdc_module.h" | COMMENT |
| LOW | liger_cute_kernels/csrc/core/src/moe/moe_launch.h | 1 | // moe_launch.h — internal POD argument bundles for the templated MoE launchers. | COMMENT |
| LOW | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 1 | #pragma once | COMMENT |
| LOW | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 21 | // LIGER_MOE_FWD_TUNE_CONFIGS_TM64 / _TM128 | COMMENT |
| LOW | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 41 | // - TileM ∈ {64, 128}; shared by MLP1 and MLP2. | COMMENT |
| LOW | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 61 | // EpiChunkN values grouped per smem-shape twin: | COMMENT |
| LOW | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 81 | // ~320-384 KiB, over the 228 KiB cap, so it fails the kernel's | COMMENT |
| LOW | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 161 | // Candidate bank — rows not winning any shape in the last sweep. | COMMENT |
| LOW | …kernels/csrc/core/src/moe/moe_fwd_bwd_tune_configs.hpp | 181 | // X(6, 4, 128, 64, 4, 256, 128, 64, 2, 32, 64, 64, 2, 128) // NS=6 TM128 (Qwen3 I=768/TN1=128=6) | COMMENT |
| LOW | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 1 | #pragma once | COMMENT |
| LOW | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 21 | // LIGER_MOE_FWD_TUNE_CONFIGS_TM64 / _TM128 | COMMENT |
| LOW | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 41 | // - TileM ∈ {64, 128}; shared by MLP1 and MLP2. | COMMENT |
| LOW | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 61 | // EpiChunkN values grouped per smem-shape twin: | COMMENT |
| LOW | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 81 | // ~320-384 KiB, over the 228 KiB cap, so it fails the kernel's | COMMENT |
| LOW | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 161 | // Candidate bank — rows not winning any shape in the last sweep. | COMMENT |
| LOW | …s/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm100.hpp | 181 | // X(6, 4, 128, 64, 4, 256, 128, 64, 2, 32, 64, 64, 2, 128) // NS=6 TM128 (Qwen3 I=768/TN1=128=6) | COMMENT |
| LOW | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 1 | #pragma once | COMMENT |
| LOW | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 21 | // LIGER_MOE_FWD_TUNE_CONFIGS_TM64 / _TM128 | COMMENT |
| LOW | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 41 | // - TileM ∈ {64, 128}; shared by MLP1 and MLP2. | COMMENT |
| LOW | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 61 | // EpiChunkN values grouped per smem-shape twin: | COMMENT |
| LOW | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 81 | // ~320-384 KiB, over the 228 KiB cap, so it fails the kernel's | COMMENT |
| LOW | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 161 | #if defined(LIGER_CUTE_SM90_NONRDC_TARGET_MIXTRAL) | COMMENT |
| LOW | …ls/csrc/core/src/moe/moe_fwd_bwd_tune_configs_sm90.hpp | 181 | // X(/*NS=*/ 4, /*TN1=*/128, /*TK1=*/64, /*S1=*/4, /*EC1=*/64, /*TN2=*/128, /*TK2=*/64, /*S2=*/4, /*EC2=*/64, /*ZB=*/ 8, | COMMENT |
| LOW | …ger_cute_kernels/csrc/core/src/moe/tune/CMakeLists.txt | 1 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| LOW | …r_cute_kernels/liger_cute_kernels/tvm_ffi_bindings.cpp | 1 | #include <tvm/ffi/extra/c_env_api.h> | COMMENT |
| LOW | liger_cute_kernels/tests/cpp/test_moe_api_dispatch.cpp | 1 | #include <gtest/gtest.h> | COMMENT |
| LOW | liger_cute_kernels/tests/cpp/test_moe_api_dispatch.cpp | 61 | #define FWD_CONFIG_G_SM90(...) FWD_CONFIG_G_C(90, __VA_ARGS__) | COMMENT |
| LOW | liger_cute_kernels/tests/cpp/test_moe_api_dispatch.cpp | 81 | #undef FWD_CONFIG_G_C | COMMENT |
| LOW | test/convergence/bf16/test_mini_models_with_logits.py | 2301 | 1e-2, | COMMENT |
| LOW | test/convergence/bf16/test_mini_models.py | 2441 | # pytest.param( | COMMENT |
| LOW | test/convergence/bf16/test_mini_models.py | 2481 | marks=pytest.mark.skipif(not supports_bfloat16(), reason="bfloat16 not supported on this GPU"), | COMMENT |
| LOW | test/transformers/test_mlp.py | 21 | COMMENT | |
| LOW | test/ops/test_fused_linear_cross_entropy.py | 261 | # ``fused_linear_cross_entropy_forward``. | COMMENT |
| LOW | test/ops/test_fused_linear_cross_entropy.py | 281 | # Fast-path capability gates | COMMENT |
| LOW | test/megatron/test_monkey_patch.py | 841 | # fills the per-layer norm slots inside ``TransformerLayerSubmodules``. | COMMENT |
| LOW | test/megatron/test_monkey_patch.py | 1281 | # 6. SwiGLU patch tests | COMMENT |
| LOW | examples/medusa/callback.py | 281 | self.state.elapsed_tokens_seen / self.state.elapsed_time, | COMMENT |
| LOW | examples/medusa/callback.py | 301 | # total_flos = sum(current_flos) # across all GPUs | COMMENT |
| LOW | examples/medusa/train.py | 1 | # This code is based on tatsu-lab/stanford_alpaca. Below is the original copyright: | COMMENT |
| LOW | src/liger_kernel/backends/dispatch.py | 121 | COMMENT | |
| LOW | src/liger_kernel/transformers/functional.py | 481 | # Learnable parameters (typically nn.Parameter in your model) | COMMENT |
| LOW | src/liger_kernel/transformers/model/pixtral.py | 1 | # Pixtral vision encoder does not require a custom forward function. | COMMENT |
| LOW | src/liger_kernel/ops/cross_entropy.py | 181 | else: | COMMENT |
| LOW | src/liger_kernel/ops/cross_entropy.py | 301 | # Original loss = H(q, p), with label smoothing regularization = H(q', p) and (label_smoothing / V) = eps | COMMENT |
| LOW | src/liger_kernel/ops/fused_linear_cross_entropy.py | 81 | if isinstance(chunk_mem_const, bool) or not isinstance(chunk_mem_const, int) or chunk_mem_const < 1: | COMMENT |
| LOW | src/liger_kernel/ops/fused_linear_jsd.py | 21 | # However, setting limit as 65536 as in LayerNorm tutorial is faster because of less register spilling | COMMENT |
| LOW | src/liger_kernel/ops/fused_linear_jsd.py | 81 | COMMENT | |
| LOW | src/liger_kernel/ops/fused_linear_jsd.py | 121 | ): | COMMENT |
| 44 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agents/skills/liger-kernel-dev/validator.md | 7 | ### Step 1: Checkstyle (Fast Gate) | COMMENT |
| LOW | .agents/skills/liger-kernel-dev/validator.md | 21 | ### Step 2: Unit Tests (Hard Gate) | COMMENT |
| LOW⚡ | .agents/skills/liger-kernel-dev/validator.md | 42 | ### Step 3: Benchmarks | COMMENT |
| LOW⚡ | .agents/skills/liger-kernel-dev/validator.md | 51 | ### Step 4: Generate Plots | COMMENT |
| LOW⚡ | .agents/skills/liger-kernel-dev/validator.md | 59 | ### Step 5: Optional ncu Profiling | COMMENT |
| LOW | .agents/skills/liger-kernel-dev/validator.md | 78 | ### Step 6: Report Results | COMMENT |
| LOW | …ts/skills/liger-kernel-dev/templates/functional-api.md | 5 | ### Step 1: Add Import | COMMENT |
| LOW | …ts/skills/liger-kernel-dev/templates/functional-api.md | 13 | ### Step 2: Add Function | COMMENT |
| LOW | .agents/skills/liger-autopatch/validator.md | 11 | ### Step 1: Syntax Check | COMMENT |
| LOW | .agents/skills/liger-autopatch/validator.md | 17 | ### Step 2: Instance Patching Test | COMMENT |
| LOW | .agents/skills/liger-autopatch/validator.md | 32 | ### Step 3: Convergence Tests (requires GPU) | COMMENT |
| LOW | .agents/skills/liger-autopatch/validator.md | 63 | ### Step 4: Checkstyle | COMMENT |
| LOW⚡ | .agents/skills/liger-kernel-perf/optimizer.md | 182 | ### Step 1: Swap In the Variant | COMMENT |
| LOW⚡ | .agents/skills/liger-kernel-perf/optimizer.md | 188 | ### Step 2: Run a Minimal Correctness Check | COMMENT |
| LOW⚡ | .agents/skills/liger-kernel-perf/optimizer.md | 196 | ### Step 3: Interpret Results | COMMENT |
| LOW⚡ | .agents/skills/liger-kernel-perf/optimizer.md | 204 | ### Step 4: Restore the Original | COMMENT |
| LOW⚡ | .agents/skills/liger-kernel-perf/optimizer.md | 226 | ### Step 1: Swap In the Variant | COMMENT |
| LOW⚡ | .agents/skills/liger-kernel-perf/optimizer.md | 232 | ### Step 2: Run the Full Benchmark | COMMENT |
| LOW⚡ | .agents/skills/liger-kernel-perf/optimizer.md | 240 | ### Step 3: Capture Results | COMMENT |
| LOW⚡ | .agents/skills/liger-kernel-perf/optimizer.md | 248 | ### Step 4: Parse Results | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/optimizer.md | 259 | ### Step 5: Restore the Original | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/profiler.md | 14 | ### Step 1: Set Up Workspace | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/profiler.md | 20 | ### Step 2: Detect GPU Architecture | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/profiler.md | 34 | ### Step 3: Run Baseline Benchmarks | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/profiler.md | 48 | ### Step 4: Check for NCU Availability | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/profiler.md | 79 | ### Step 5: Analyze Kernel Code | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/profiler.md | 112 | ### Step 6: Classify Bottleneck | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/profiler.md | 130 | ### Step 7: Produce Optimization Profile | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/profiler.md | 144 | ### Step 8: Present to User (Interactive Mode) | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/finalizer.md | 35 | ### Step 1: Validate Inputs and Read Context | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/finalizer.md | 47 | ### Step 2: Apply the Winning Variant | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/finalizer.md | 57 | ### Step 3: Run the Full Test Suite (HARD GATE) | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/finalizer.md | 99 | ### Step 4: Run Checkstyle | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/finalizer.md | 125 | ### Step 5: Generate Comparison Plots | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/finalizer.md | 209 | ### Step 6: Generate the Final Optimization Report | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/finalizer.md | 247 | ### Step 7: Create Pull Request | COMMENT |
| LOW | .agents/skills/liger-kernel-perf/finalizer.md | 362 | ### Step 8: Present the Before/After Summary | COMMENT |
| LOW⚡ | .github/workflows/benchmark.yml | 122 | # Step 5: Checkout gh-pages branch in a subfolderAdd commentMore actions | COMMENT |
| LOW⚡ | .github/workflows/benchmark.yml | 129 | # Step 6: Copy benchmark CSV to gh-pages directory | COMMENT |
| LOW | .github/workflows/benchmark.yml | 152 | # Step 7: Append commit hash to commits.txt if not already present | COMMENT |
| LOW | .github/workflows/benchmark.yml | 164 | # Step 7: Commit and push | COMMENT |
| LOW⚡ | src/liger_kernel/ops/grpo_loss.py | 709 | # Step 1: Get per-token log probs using existing Triton kernel | COMMENT |
| LOW⚡ | src/liger_kernel/ops/grpo_loss.py | 712 | # Step 2: Compute sequence-level importance weights | COMMENT |
| LOW | src/liger_kernel/ops/grpo_loss.py | 733 | # Step 3: Run Triton kernel with pre-computed coefficients | COMMENT |
| LOW | src/liger_kernel/ops/backends/README.md | 61 | ### Step 1: Create the directory | COMMENT |
| LOW | src/liger_kernel/ops/backends/README.md | 69 | ### Step 2: Register the implementation | COMMENT |
| LOW | src/liger_kernel/ops/backends/README.md | 88 | ### Step 3: Ensure device detection works | COMMENT |
| LOW | src/liger_kernel/ops/backends/README.md | 103 | ### Step 4: Implement the operators | COMMENT |
| LOW | src/liger_kernel/ops/backends/README.md | 122 | ### Step 5: Export from `ops/__init__.py` | COMMENT |
| LOW | src/liger_kernel/chunked_loss/fused_linear_ppo.py | 299 | # Step 1: compute logprobs OUTSIDE compile (custom autograd, memory-efficient) | COMMENT |
| LOW | src/liger_kernel/chunked_loss/fused_linear_ppo.py | 319 | # Step 2: compute loss INSIDE compile (just math, torch.compile-friendly) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/ops/test_jsd.py | 54 | loss = beta * KL(P || M) + (1 - beta) * KL(Q || M) | STRING |
| HIGH | src/liger_kernel/functional.py | 293 | JSD_\\beta(P || Q) = \\beta \\cdot KL(P || M) + (1 - \\beta) \\cdot KL(Q || M), | STRING |
| HIGH | src/liger_kernel/transformers/jsd.py | 11 | JSD(\beta)(P || Q) | CODE |
| HIGH | src/liger_kernel/transformers/jsd.py | 17 | This differs from the standard mathematical notation :math:`JSD(P || Q)` where | CODE |
| HIGH | src/liger_kernel/ops/jsd.py | 145 | JSD(\beta)(P || Q) | CODE |
| HIGH | src/liger_kernel/ops/jsd.py | 152 | This differs from the standard mathematical notation :math:`JSD(P || Q)` where | CODE |
| HIGH | src/liger_kernel/ops/fused_linear_kl_div.py | 335 | target (torch.tensor): target distribution with shape (BT, V), expected to be probabilities. Computes KL(tar | STRING |
| HIGH | src/liger_kernel/ops/backends/_ascend/ops/jsd.py | 174 | JSD(\beta)(P || Q) | CODE |
| HIGH | src/liger_kernel/ops/backends/_ascend/ops/jsd.py | 181 | This differs from the standard mathematical notation :math:`JSD(P || Q)` where | CODE |
| HIGH | src/liger_kernel/ops/cutile/ops/kl_div.py | 8 | Computes KL(y_true || y_pred) where y_pred is in log-space. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/scripts/benchmark_embedding.py | 24 | # NOTE: For torch compile, we will just use default inductor settings. No further customization | COMMENT |
| LOW | liger_cute_kernels/liger_cute_kernels/nvshmem.py | 300 | # (collective) split — just return NVSHMEM_TEAM_WORLD. Avoids creating a team | COMMENT |
| MEDIUM | liger_cute_kernels/test/test_moe_cuda_graph.py | 262 | # ── distributed harness (file-based rendezvous, like test_nvshmem.py) ───────── | COMMENT |
| MEDIUM | liger_cute_kernels/test/test_nvshmem.py | 264 | # ── Distributed harness ────────────────────────────────────────────────────── | COMMENT |
| LOW | test/megatron/test_monkey_patch.py | 694 | # Skip Liger kernel — just return a CPU-friendly tensor in the right shape. | COMMENT |
| MEDIUM | src/liger_kernel/triton/monkey_patch.py | 20 | # use temp dir to be robust against program interruptions | COMMENT |
| MEDIUM | src/liger_kernel/transformers/monkey_patch.py | 1511 | # also drop the MagicMock the test harness substitutes for | COMMENT |
| MEDIUM | src/liger_kernel/ops/cutedsl/ops/rms_norm.py | 855 | # across steps (weights always; activations under a reused-buffer harness), so they | COMMENT |
| MEDIUM⚡ | src/liger_kernel/ops/backends/_cutedsl/softmax.py | 96 | # harness auto-skips for wider rows rather than failing inside a launch. | COMMENT |
| MEDIUM⚡ | src/liger_kernel/ops/backends/_cutedsl/rms_norm.py | 126 | # so the test harness auto-skips for wider rows. | COMMENT |
| MEDIUM | src/liger_kernel/ops/backends/_ascend/ops/softmax.py | 243 | # Calculate optimal ROWS_PER_BLOCK to utilize UB efficiently | COMMENT |
| MEDIUM | src/liger_kernel/chunked_loss/dpo_loss.py | 98 | # cDPO / robust loss: assumes a fraction `label_smoothing` of preference labels are flipped. | COMMENT |
| MEDIUM | …ernel/chunked_loss/fused_linear_unpaired_preference.py | 66 | # TODO: Tune CHUNK_SIZE to fully utilize the GPU | COMMENT |
| MEDIUM | …c/liger_kernel/chunked_loss/fused_linear_preference.py | 70 | # TODO: Tune CHUNK_SIZE to fully utilize the GPU | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | liger_cute_kernels/liger_cute_kernels/__init__.py | 29 | __all__ = ["FusedLinearCrossEntropyConfig", "MoEConfig", "UnsupportedDeviceError", "configure"] | CODE |
| LOW | liger_cute_kernels/liger_cute_kernels/nvshmem.py | 30 | __all__ = [ | CODE |
| LOW | src/liger_kernel/__init__.py | 22 | __all__ = [ | CODE |
| LOW | src/liger_kernel/functional.py | 749 | __all__ = [ | CODE |
| LOW | src/liger_kernel/backends/registry.py | 65 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/liger_kernel/backends/dispatch.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | src/liger_kernel/backends/dispatch.py | 108 | def set_impl(name: Optional[str]) -> None: | CODE |
| LOW | src/liger_kernel/backends/__init__.py | 59 | __all__ = [ | CODE |
| LOW | src/liger_kernel/backends/capability.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/liger_kernel/testing/__init__.py | 26 | __all__ = [ | CODE |
| LOW | src/liger_kernel/transformers/auto_model.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/liger_kernel/transformers/__init__.py | 186 | __all__ = [ | CODE |
| LOW | src/liger_kernel/transformers/monkey_patch.py | 54 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/liger_kernel/transformers/moe.py | 42 | __all__ = ["LigerExpertParallelFusedMoe"] | CODE |
| LOW | src/liger_kernel/transformers/experimental/__init__.py | 3 | __all__ = [ | CODE |
| LOW | src/liger_kernel/transformers/model/gemma2.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/liger_kernel/ops/configure.py | 23 | __all__ = ["configure", "FusedLinearCrossEntropyConfig", "MoEConfig"] | CODE |
| LOW | …/liger_kernel/ops/fused_linear_scaled_cross_entropy.py | 439 | __all__ = [ | CODE |
| LOW | src/liger_kernel/ops/_nvidia_shared.py | 25 | __all__ = [ | CODE |
| LOW | src/liger_kernel/ops/cute/__init__.py | 59 | __all__ = ["is_available"] | CODE |
| LOW | …ernel/ops/cute/fused_linear_scaled_cross_entropy_tp.py | 229 | __all__ = ["LigerFusedLinearScaledCrossEntropyNativeTPFunction", "is_available"] | CODE |
| LOW | src/liger_kernel/ops/cute/ops/__init__.py | 14 | __all__ = [ | CODE |
| LOW | src/liger_kernel/ops/cute/ops/moe.py | 25 | __all__ = ["LigerExpertParallelFusedMoEFunction", "moe_fused"] | CODE |
| LOW | …nel/ops/cutedsl/ops/fused_linear_cross_entropy_sm90.py | 264 | __all__ = [ | CODE |
| LOW | src/liger_kernel/ops/cutedsl/ops/__init__.py | 38 | __all__ = [ | CODE |
| LOW | …nel/ops/cutedsl/ops/fused_scaled_cross_entropy_sm90.py | 325 | __all__ = [ | CODE |
| LOW | …ops/_fused_scaled_cross_entropy_backward_fused_sm90.py | 2169 | __all__ = [ | CODE |
| LOW | src/liger_kernel/ops/cutedsl/ops/rope.py | 1014 | __all__ = [ | CODE |
| LOW | src/liger_kernel/ops/cutedsl/ops/_sm100_gemm.py | 102 | __all__ = [ | CODE |
| LOW | …tedsl/ops/_fused_linear_cross_entropy_backward_sm90.py | 108 | __all__ = ["flce_dx", "flce_dw"] | CODE |
| LOW | …ger_kernel/ops/backends/_cutedsl/_cute_lib/__init__.py | 26 | __all__ = [ | CODE |
| LOW | src/liger_kernel/ops/backends/_ascend/ops/__init__.py | 90 | __all__ = [ | CODE |
| LOW | …er_kernel/ops/cutile/ops/fused_linear_cross_entropy.py | 464 | __all__ = [ | CODE |
| LOW | src/liger_kernel/ops/cutile/ops/__init__.py | 55 | __all__ = [ | CODE |
| LOW | src/liger_kernel/megatron/__init__.py | 30 | __all__ = [ | CODE |
| LOW | src/liger_kernel/megatron/monkey_patch.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/liger_kernel/megatron/swiglu.py | 47 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | benchmark/scripts/benchmark_tiled_mlp.py | 148 | # Define the MLP forward function for DeepSpeed TiledMLP | COMMENT |
| MEDIUM | examples/medusa/medusa_util.py | 109 | # Create a list of Medusa heads | COMMENT |
| MEDIUM | examples/medusa/train.py | 282 | # Create the train and eval datasets | COMMENT |
| MEDIUM | …ernel/ops/backends/_cutedsl/_cute_lib/compile_utils.py | 1 | # This file contains code adapted from Quack | COMMENT |
| MEDIUM | …kernel/ops/backends/_cutedsl/_cute_lib/layout_utils.py | 1 | # This file contains code adapted from Quack | COMMENT |
| MEDIUM | …_kernel/ops/backends/_cutedsl/_cute_lib/rmsnorm_fwd.py | 1 | # This file contains code adapted from Quack | COMMENT |
| MEDIUM | …liger_kernel/ops/backends/_cutedsl/_cute_lib/reduce.py | 1 | # This file contains code adapted from Quack | COMMENT |
| MEDIUM | …r_kernel/ops/backends/_cutedsl/_cute_lib/copy_utils.py | 1 | # This file contains code adapted from Quack | COMMENT |
| MEDIUM | …ger_kernel/ops/backends/_cutedsl/_cute_lib/__init__.py | 1 | # This file contains code adapted from Quack | COMMENT |
| MEDIUM | …rnel/ops/backends/_cutedsl/_cute_lib/reduction_base.py | 1 | # This file contains code adapted from Quack | COMMENT |
| MEDIUM | …/liger_kernel/ops/backends/_cutedsl/_cute_lib/utils.py | 1 | # This file contains code adapted from Quack | COMMENT |
| MEDIUM | …er_kernel/ops/backends/_cutedsl/_cute_lib/dtype_map.py | 1 | # This file contains code adapted from Quack | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | .github/workflows/benchmark.yml | 122 | # Step 5: Checkout gh-pages branch in a subfolderAdd commentMore actions | COMMENT |
| LOW⚡ | .github/workflows/benchmark.yml | 129 | # Step 6: Copy benchmark CSV to gh-pages directory | COMMENT |
| LOW | .github/workflows/benchmark.yml | 152 | # Step 7: Append commit hash to commits.txt if not already present | COMMENT |
| LOW | .github/workflows/benchmark.yml | 164 | # Step 7: Commit and push | COMMENT |
| LOW⚡ | src/liger_kernel/ops/grpo_loss.py | 709 | # Step 1: Get per-token log probs using existing Triton kernel | COMMENT |
| LOW⚡ | src/liger_kernel/ops/grpo_loss.py | 712 | # Step 2: Compute sequence-level importance weights | COMMENT |
| LOW | src/liger_kernel/ops/grpo_loss.py | 733 | # Step 3: Run Triton kernel with pre-computed coefficients | COMMENT |
| LOW | src/liger_kernel/chunked_loss/fused_linear_ppo.py | 299 | # Step 1: compute logprobs OUTSIDE compile (custom autograd, memory-efficient) | COMMENT |
| LOW | src/liger_kernel/chunked_loss/fused_linear_ppo.py | 319 | # Step 2: compute loss INSIDE compile (just math, torch.compile-friendly) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | benchmark/benchmarks_visualizer.py | 270 | Loads the benchmark data from the CSV file and filters it based on the configuration. Applies filters in order: ker | STRING |
| HIGH | src/liger_kernel/ops/backends/registry.py | 75 | Select the implementation for the current device. Args: device: Device type from ``infer_device()`` (e | STRING |
| HIGH | src/liger_kernel/ops/backends/_ascend/ub_manager.py | 260 | Compute tiling strategy using the default strategy function. This function directly calls the default strategy | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/utils.py | 163 | # Check if the shapes of the tensors match | COMMENT |
| LOW | test/utils.py | 195 | # Check if all elements are close | COMMENT |
| LOW | test/transformers/test_swiglu.py | 493 | # Check if gradients are close for x | COMMENT |
| LOW | test/transformers/test_mm_int8int2.py | 62 | # Print the results (optional, can be commented out) | COMMENT |
| LOW | test/transformers/test_mm_int8int2.py | 66 | # Check if outputs are close within the given tolerances | COMMENT |
| LOW | test/transformers/test_monkey_patch.py | 72 | # Check if optional modules are available | COMMENT |
| LOW | examples/medusa/train.py | 170 | # Set everything to be ignored, except the assistant part | COMMENT |
| LOW | src/liger_kernel/transformers/__init__.py | 96 | # Check if 'transformers' is installed | COMMENT |
| LOW | src/liger_kernel/transformers/monkey_patch.py | 72 | # Check if the module is a PEFT ModulesToSaveWrapper | COMMENT |
| LOW | src/liger_kernel/transformers/monkey_patch.py | 135 | # Check if the module is a PEFT ModulesToSaveWrapper | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/liger_kernel/transformers/model/qwen3_moe.py | 134 | loss += self.router_aux_loss_coef * aux_loss.to(loss.device) # make sure to reside in the same device | CODE |
| LOW | src/liger_kernel/transformers/model/qwen3_5_moe.py | 137 | loss += self.router_aux_loss_coef * aux_loss.to(loss.device) # make sure to reside in the same device | CODE |
| LOW | src/liger_kernel/transformers/model/gpt_oss.py | 205 | loss += self.router_aux_loss_coef * aux_loss.to(loss.device) # make sure to reside in the same device | CODE |
| LOW | src/liger_kernel/transformers/model/qwen3_next.py | 135 | loss += self.router_aux_loss_coef * aux_loss.to(loss.device) # make sure to reside in the same device | CODE |
| LOW | src/liger_kernel/transformers/model/mixtral.py | 144 | loss += self.router_aux_loss_coef * aux_loss.to(loss.device) # make sure to reside in the same device | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …s/backends/_ascend/ops/fused_neighborhood_attention.py | 1821 | # Backward orchestration | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/resources/scripts/generate_tokenized_dataset.py | 39 | # Example usage: | COMMENT |