Skip to content

Beautify text output in dump comparator#19683

Merged
fzyzcjy merged 615 commits intosgl-project:mainfrom
fzyzcjy:ac8420/36
Mar 2, 2026
Merged

Beautify text output in dump comparator#19683
fzyzcjy merged 615 commits intosgl-project:mainfrom
fzyzcjy:ac8420/36

Conversation

@fzyzcjy
Copy link
Copy Markdown
Collaborator

@fzyzcjy fzyzcjy commented Mar 2, 2026

Motivation

Modifications

Accuracy Tests

Benchmarking and Profiling

Checklist

Review Process

  1. Ping Merge Oncalls to start the PR flow. See the PR Merge Process.
  2. Get approvals from CODEOWNERS and other reviewers.
  3. Trigger CI tests with comments or contact authorized users to do so.
    • /tag-run-ci-label, /rerun-failed-ci, /tag-and-rerun-ci
  4. After green CI and required approvals, ask Merge Oncalls to merge.

Assert that sglang_parallel_info in dump metadata contains the
newly added moe_dp_rank/size and attn_cp_rank/size fields alongside
the existing tp_rank/size.
Check every group (tp, pp, moe_ep, moe_tp, moe_dp, attn_tp,
attn_dp, local_attn_dp, attn_cp, enable_dp_attention) rather than
only the newly added ones.
The first two tests now model the realistic scenario where dp_size=2
with one empty rank (attention-style DP), while // dp:=moe_dp redirects
dp filtering to use the alias group. This avoids the aligner failure
that occurs when 2 replicated non-empty items reach it without sharding.
- test_dp_alias_absent_group_noop: single rank with dp_size=1, verifies
  // syntax doesn't break comparison
- test_dp_alias_via_override_dims: uses moe_dp_rank/moe_dp_size fields
  so override-dims with // dp:=moe_dp triggers real alias-based filtering
parse_dims() now returns DimsSpec (dims + dp_group_alias) instead of
list[DimSpec]. This removes the separate extract_dp_group_alias()
public API and keeps dp group alias extraction as an internal detail
of the parsing step.
# is more natural as an annotation/pragma marker and avoids ambiguity
with URL fragments or division operators.
… control

Instead of all-or-nothing --forbid-skip, --allow-skip-pattern accepts a
regex: tensor names matching the pattern are allowed to skip (e.g. core
auto-dump fields like positions/seq_lens that lack dims metadata at TP>1).
Default '.*' allows all skips; '^$' forbids all (equivalent to old --forbid-skip).
Replace scattered print_record() calls with a centralized report_sink
singleton that tees output to both stdout and an auto-generated JSONL
report file. This eliminates output_format parameter threading through
the call chain.

- Add ReportSink class with configure/add/close lifecycle
- Add --report-path and --no-report CLI arguments
- Default report path: <target-path>/comparator_report.jsonl
- Remove output_format from emit_display_records, _consume_comparison_records, WarningSink
- Add TestReportOutput test class and conftest autouse fixture for isolation
- Report path now printed via report_sink.add(ReportPathRecord(...))
  so it respects json/text output format
- --no-report removed; pass --report-path '' to disable instead
(cherry picked from commit 48515db)
…_seq_lens_only

`&` and `-` are same-precedence left-associative so behavior was correct,
but explicit parentheses make the intent unambiguous.
Cover: no plugin, empty cp_sharded_names, sglang seq_lens extraction,
megatron cu_seqlens_q diff extraction, multi-step, and missing tensor.
Verifies that concat mode correctly loads thd_seq_lens and performs
zigzag→natural reorder for Megatron-format CP=2 THD tensors.
…nly to concat_steps package

- Rename token_aligner/concat.py → token_aligner/concat_steps/ package
- Rename execute_token_aligner_concat → execute_token_aligner_concat_steps
- Move load_thd_seq_lens_only from smart/aux_loader.py to concat_steps/thd_seq_lens_loader.py
  so concat-specific code no longer lives inside the smart subpackage
- Update CLI choices, defaults, and all string literals from "concat" to "concat_steps"
- Update all imports and test files accordingly
The concat_steps/__init__.py eagerly importing thd_seq_lens_loader created
a circular import chain through smart/aux_loader.py → entrypoint/executor.py.
Import from the submodule path instead.
fzyzcjy added 23 commits March 1, 2026 13:30
- Add TracedAlignerPlan wrapper types with ShapeSnapshot tracking
- Extract ReportSink to report_sink.py, add verbosity field
- Add BundleFileInfo/BundleSideInfo/ShapeSnapshot types to output_types
- Change executor return values to NamedTuples (StepPlansResult, SubPlansResult)
- Refactor TensorComparisonRecord: aligner_plan -> traced_plan, add raw_bundle_info
- Make extract_parallel_info and PARALLEL_INFO_KEYS public in display.py
- Add --verbosity CLI parameter to entrypoint
- Add testing_helpers.py with shared test factories
- Add to_rich() / _format_rich_body() stubs to _OutputRecord
Extract output_formatter.py for record-level rendering delegation,
add Rich markup formatters in tensor_comparator/formatter.py,
and wire up display.py with _render_polars_as_rich_table.
All Rich functions hardcoded to normal mode (no verbosity params).
Add Rich body tests for ConfigRecord, SkipRecord, NonTensorRecord,
SummaryRecord, and log attachment (to_rich). Add Rich table tests
for RankInfoRecord and InputIdsRecord. Add comprehensive snapshot
tests for format_comparison_rich, _format_bundle_section,
_format_plan_section_rich, _format_stats_rich, and
_format_abs_diff_percentiles_rich.
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces significant improvements to the comparator's output, making debugging and analysis of tensor differences more intuitive and comprehensive. By integrating detailed execution traces and a refined dimension specification system, it provides users with a clearer understanding of tensor transformations and comparison outcomes. The changes also enhance the robustness of parallelization awareness and streamline the overall user experience with more flexible CLI options and improved logging.

Highlights

  • Enhanced Output Formatting: The comparator's text output has been significantly beautified, now leveraging rich for improved readability and structured presentation of comparison results, including detailed plan execution traces and bundle information.
  • Introduced Aligner Plan Tracing: New TracedAlignerPlan types capture and display the step-by-step execution of alignment operations (unsharding, reordering, token alignment, axis alignment), providing granular insight into how tensors are transformed during comparison.
  • Refactored Dimension Specification: The dimension parsing logic has been completely overhauled into a new dims_spec module. This new system supports fused dimensions (e.g., (num_heads*head_dim)), explicit replicated axis declarations (e.g., # tp:replicated), and data parallel group aliases (e.g., # dp:=moe_dp), leading to more robust and expressive dimension handling.
  • Improved Axis Alignment Logic: The axis_aligner module was refactored to incorporate the new fused dimension handling and canonical ordering, allowing for more flexible tensor reshaping and reordering during comparison.
  • Unified Logging System: A new log_sink and report_sink system replaces the previous warning_sink, centralizing the collection and reporting of ErrorLog and InfoLog messages. This provides a clearer distinction between critical errors and informational messages within the comparison output.
  • Flexible Exit Code Handling: The comparator now offers more control over the CLI exit code with new --allow-skipped-pattern and --allow-failed-pattern arguments, enabling users to define acceptable patterns for skipped or failed comparisons without triggering a non-zero exit.
  • Automatic Directory Descent: The --baseline-path and --target-path arguments now support automatic descent into a single subdirectory if no .pt files are found at the top level, simplifying usage for common dump structures.
  • Expanded Parallel Info Collection: The dumper now collects more detailed parallel information, including MoE data parallel ranks/sizes and attention data parallel ranks/sizes, enhancing the comparator's ability to handle complex distributed setups.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • python/sglang/srt/debug_utils/comparator/init.py
    • Updated imports to reflect new TensorComparisonRecord and TracedAlignerPlan types.
  • python/sglang/srt/debug_utils/comparator/aligner/axis_aligner.py
    • Refactored axis alignment logic to support fused dimensions and canonical ordering.
    • Replaced warning_sink with log_sink and GeneralWarning with ErrorLog for consistent logging.
    • Added a ValueError check for invalid side arguments in execute_axis_aligner_plan.
  • python/sglang/srt/debug_utils/comparator/aligner/axis_swapper.py
    • Removed, as its functionality was integrated into axis_aligner.py.
  • python/sglang/srt/debug_utils/comparator/aligner/entrypoint/executor.py
    • Introduced new TracedAlignerPlan types to capture execution snapshots.
    • Modified AlignerResult to include traced_plan for detailed tracing.
    • Refactored _execute_step_plans and execute_sub_plans to return results with execution snapshots.
  • python/sglang/srt/debug_utils/comparator/aligner/entrypoint/planner.py
    • Updated imports from dims to the new dims_spec module.
    • Modified compute_per_step_sub_plans to utilize DimsSpec and explicit_replicated_axes for unsharder planning.
  • python/sglang/srt/debug_utils/comparator/aligner/entrypoint/traced_types.py
    • Added, defining new types (TracedSubPlan, TracedStepPlan, TracedSidePlan, TracedAlignerPlan) for tracing aligner plan execution.
  • python/sglang/srt/debug_utils/comparator/aligner/reorderer/executor.py
    • Updated imports from dims to dims_spec.
  • python/sglang/srt/debug_utils/comparator/aligner/reorderer/planner.py
    • Updated imports from dims to dims_spec.
  • python/sglang/srt/debug_utils/comparator/aligner/token_aligner/concat_steps/executor.py
    • Updated imports from dims to dims_spec.
  • python/sglang/srt/debug_utils/comparator/aligner/token_aligner/entrypoint.py
    • Removed unused argparse import.
    • Replaced GeneralWarning and warning_sink with InfoLog and log_sink.
    • Modified function signatures to use keyword arguments for clarity and consistency.
  • python/sglang/srt/debug_utils/comparator/aligner/token_aligner/smart/aux_loader.py
    • Updated imports from dims to dims_spec.
    • Replaced GeneralWarning and warning_sink with ErrorLog, InfoLog, and log_sink.
  • python/sglang/srt/debug_utils/comparator/aligner/token_aligner/smart/aux_plugins.py
    • Updated imports from dims to dims_spec.
    • Replaced GeneralWarning and warning_sink with InfoLog and log_sink.
    • Updated CP-sharded dim syntax from t(cp:zigzag) to t[cp:zigzag].
  • python/sglang/srt/debug_utils/comparator/aligner/token_aligner/smart/executor.py
    • Updated imports from dims to dims_spec.
  • python/sglang/srt/debug_utils/comparator/aligner/token_aligner/smart/types.py
    • Updated imports from dims to dims_spec.
  • python/sglang/srt/debug_utils/comparator/aligner/unsharder/executor.py
    • Updated imports from dims to dims_spec.
    • Refactored _verify_replicated_group into _check_replicated_pair for improved clarity and added shape mismatch checks.
  • python/sglang/srt/debug_utils/comparator/aligner/unsharder/parallel_info.py
    • Updated imports from dims to dims_spec.
  • python/sglang/srt/debug_utils/comparator/aligner/unsharder/planner.py
    • Updated imports from dims to dims_spec.
    • Modified compute_unsharder_plan to accept explicit_replicated_axes and use sanitized_name for dim specs.
    • Added _validate_explicit_replicated for robust validation of replicated axes.
  • python/sglang/srt/debug_utils/comparator/aligner/unsharder/types.py
    • Updated imports from dims to dims_spec.
  • python/sglang/srt/debug_utils/comparator/bundle_comparator.py
    • Updated imports from dims to dims_spec.
    • Replaced GeneralWarning and warning_sink with ErrorLog, InfoLog, and log_sink.
    • Renamed comparison record types (ComparisonRecord, SkipRecord, NonTensorRecord) to TensorComparisonRecord, SkipComparisonRecord, NonTensorComparisonRecord.
    • Introduced BundleFileInfo and BundleSideInfo types and _collect_bundle_side_info for detailed bundle information.
    • Modified compare_bundle_pair to accept dir_pair instead of separate path arguments.
    • Added _extract_dp_alias_from_items for data parallel filtering.
  • python/sglang/srt/debug_utils/comparator/dims.py
    • Removed, as its functionality was migrated to the new dims_spec module.
  • python/sglang/srt/debug_utils/comparator/dims_spec/init.py
    • Added, consolidating imports for the new dims_spec module.
  • python/sglang/srt/debug_utils/comparator/dims_spec/comment_parser.py
    • Added, responsible for parsing comments within dimension strings for DP aliases and replicated axis declarations.
  • python/sglang/srt/debug_utils/comparator/dims_spec/dim_parser.py
    • Added, handling the parsing of individual dimension tokens, including support for fused dimensions.
  • python/sglang/srt/debug_utils/comparator/dims_spec/dims_parser.py
    • Added, serving as the central parser for full dimension strings, incorporating comment parsing, fused dimensions, and duplicate name checks.
  • python/sglang/srt/debug_utils/comparator/dims_spec/modifier_parser.py
    • Added, dedicated to parsing parallel modifiers within dimension specifications.
  • python/sglang/srt/debug_utils/comparator/dims_spec/tensor_naming.py
    • Added, providing utilities for applying, resolving, and stripping tensor dimension names.
  • python/sglang/srt/debug_utils/comparator/dims_spec/types.py
    • Added, defining core types for dimension specifications, parallel axes, ordering, reduction, and fused dimension naming conventions.
  • python/sglang/srt/debug_utils/comparator/display.py
    • Updated imports for the new report_sink.
    • Renamed _PARALLEL_INFO_KEYS to PARALLEL_INFO_KEYS and _extract_parallel_info to extract_parallel_info.
    • Added _render_polars_as_rich_table and _build_rich_table for rich text output rendering.
  • python/sglang/srt/debug_utils/comparator/dp_utils.py
    • Modified filter_to_non_empty_dp_rank and _extract_dp_info to support dp_group_alias for more flexible data parallel filtering.
  • python/sglang/srt/debug_utils/comparator/entrypoint.py
    • Removed unused re import.
    • Updated comparison record types to TensorComparisonRecord, NonTensorComparisonRecord, SkipComparisonRecord.
    • Refactored CLI argument parsing to include --verbosity, --preset, --grouping-skip-keys, and --allow-failed-pattern.
    • Integrated auto_descend_dir and compute_exit_code for improved directory handling and exit code logic.
  • python/sglang/srt/debug_utils/comparator/log_sink.py
    • Added, implementing a new logging sink to collect and report ErrorLog and InfoLog messages, replacing the previous warning_sink.
  • python/sglang/srt/debug_utils/comparator/output_formatter.py
    • Added, centralizing formatting logic for all comparator output records, supporting both plain text and rich text rendering.
  • python/sglang/srt/debug_utils/comparator/output_types.py
    • Refactored logging types, replacing GeneralWarning with ErrorLog and InfoLog.
    • Introduced BaseLog, AnyLog, _split_logs, BundleFileInfo, BundleSideInfo, ShapeSnapshot, and RecordLocation.
    • Renamed comparison record types for clarity and consistency.
    • Removed WarningRecord and ReportSink (now in report_sink.py).
    • Added rich text formatting methods (_format_rich_body, to_rich).
  • python/sglang/srt/debug_utils/comparator/per_token_visualizer.py
    • Updated imports from ComparisonRecord to TensorComparisonRecord.
  • python/sglang/srt/debug_utils/comparator/preset.py
    • Added, defining presets for comparator CLI arguments and providing logic for their expansion.
  • python/sglang/srt/debug_utils/comparator/report_sink.py
    • Added, implementing the ReportSink class for managing output to stdout/stderr and report files, including rich text rendering and verbosity control.
  • python/sglang/srt/debug_utils/comparator/tensor_comparator/formatter.py
    • Implemented extensive rich text formatting for comparison details, including new helper functions for shapes, dtypes, numbers, and diffs.
    • Added detailed sections for bundle info, aligner plans, and replicated checks in rich output.
  • python/sglang/srt/debug_utils/comparator/utils.py
    • Added auto_descend_dir for automatically finding dump directories.
    • Added compute_exit_code and _is_all_match_pattern for more flexible and configurable CLI exit code handling.
  • python/sglang/srt/debug_utils/comparator/warning_sink.py
    • Removed, as its functionality was replaced by the new log_sink.py.
  • python/sglang/srt/debug_utils/dumper.py
    • Expanded parallel info collection to include moe_dp_rank, moe_dp_size, attn_cp_rank, and attn_cp_size.
  • test/registered/debug_utils/comparator/aligner/axis_swapper.py
    • Removed, as its functionality was integrated into axis_aligner.py.
  • test/registered/debug_utils/comparator/aligner/entrypoint/test_executor.py
    • Updated imports and assertions to reflect new StepPlansResult and SubPlansResult return types with tracing capabilities.
  • test/registered/debug_utils/comparator/aligner/entrypoint/test_planner.py
    • Updated dim string syntax from h(tp) to h[tp] in test cases.
  • test/registered/debug_utils/comparator/aligner/reorderer/test_executor.py
    • Updated imports to dims_spec.
  • test/registered/debug_utils/comparator/aligner/reorderer/test_planner.py
    • Updated dim string syntax from s(cp:zigzag) to s[cp:zigzag] in test cases.
  • test/registered/debug_utils/comparator/aligner/test_axis_aligner.py
    • Replaced warning_sink with log_sink in tests.
    • Updated dim string syntax from h(tp) to h[tp] in test cases.
    • Added comprehensive tests for fused dimension alignment scenarios, including separate vs. fused, reordering, and squeeze dims.
    • Added tests for ValueError on invalid side argument in execute_axis_aligner_plan.
  • test/registered/debug_utils/comparator/aligner/token_aligner/test_aux_loader.py
    • Replaced WarningSink with LogSink and GeneralWarning with ErrorLog/InfoLog in tests.
    • Updated dim string syntax from t(cp:zigzag) to t[cp:zigzag] in test cases.
  • test/registered/debug_utils/comparator/aligner/token_aligner/test_aux_plugins.py
    • Updated imports to dims_spec.
    • Updated dim string syntax from t(cp:zigzag) to t[cp:zigzag] in test cases.
  • test/registered/debug_utils/comparator/aligner/token_aligner/test_executor.py
    • Updated imports to dims_spec.
  • test/registered/debug_utils/comparator/aligner/token_aligner/test_planner.py
    • Updated imports to dims_spec.
  • test/registered/debug_utils/comparator/aligner/unsharder/test_executor.py
    • Updated imports to dims_spec.
    • Modified _name_tensors to use sanitized_name.
    • Updated dim string syntax from h(tp) to h[tp] in test cases.
    • Added tests for RECOMPUTE_PSEUDO axis mismatch and fused dim unsharding.
  • test/registered/debug_utils/comparator/aligner/unsharder/test_parallel_info.py
    • Updated imports to dims_spec.
  • test/registered/debug_utils/comparator/aligner/unsharder/test_planner.py
    • Updated imports to dims_spec.
    • Updated dim string syntax from h(tp) to h[tp] in test cases.
    • Added comprehensive tests for explicit replicated axes and fused dimensions in unsharder planning.
  • test/registered/debug_utils/comparator/conftest.py
    • Added pytest_configure hook to ignore specific warnings and added _TEST_ROOT to sys.path for test helper imports.
  • test/registered/debug_utils/comparator/dims_spec/test_dim_parser.py
    • Added, containing unit tests for parsing individual dimension tokens, including plain, annotated, and fused dimensions.
  • test/registered/debug_utils/comparator/dims_spec/test_dims_parser.py
    • Added, containing unit tests for parsing full dimension strings, including _SingletonDimUtil, fused dims, and hash-commented declarations.
  • test/registered/debug_utils/comparator/dims_spec/test_tensor_naming.py
    • Added, containing unit tests for tensor naming utilities like find_dim_index, resolve_dim_by_name, apply_dim_names, and strip_dim_names.
  • test/registered/debug_utils/comparator/dims_spec/test_types.py
    • Added, containing basic tests for dimension constants.
  • test/registered/debug_utils/comparator/tensor_comparator/test_formatter.py
    • Updated imports to use new testing_helpers module.
    • Introduced new rich text formatting tests for format_comparison_rich, _format_bundle_section, _format_plan_section_rich, _format_stats_rich, and _format_abs_diff_percentiles_rich.
  • test/registered/debug_utils/comparator/tensor_comparator/test_types.py
    • Updated imports and assertions to reflect new ErrorLog, InfoLog, LogRecord, SkipComparisonRecord, TensorComparisonRecord types.
    • Modified tests for comparison_record and skip_record to check errors instead of warnings.
  • test/registered/debug_utils/comparator/test_bundle_comparator.py
    • Replaced WarningSink with LogSink and GeneralWarning with ErrorLog in tests.
  • test/registered/debug_utils/comparator/test_dims.py
    • Removed, as its tests were migrated to the new dims_spec test files.
  • test/registered/debug_utils/comparator/test_display.py
    • Added _render_rich helper for rich text snapshot testing.
    • Added test_to_rich_snapshot for RankInfoRecord and InputIdsRecord.
  • test/registered/debug_utils/comparator/test_dp_utils.py
    • Added new test cases for dp_group_alias functionality in _extract_dp_info and filter_to_non_empty_dp_rank.
  • test/registered/debug_utils/comparator/test_log_sink.py
    • Renamed from test_warning_sink.py.
    • Updated tests to use LogSink, ErrorLog, and InfoLog.
  • test/registered/debug_utils/comparator/test_manually_verify.py
    • Updated imports from ComparisonRecord to TensorComparisonRecord.
  • test/registered/debug_utils/comparator/test_model_validation.py
    • Updated imports and assertions to reflect new ErrorLog, SkipComparisonRecord, TensorComparisonRecord types.
  • test/registered/debug_utils/comparator/test_per_token_visualizer.py
    • Updated imports from ComparisonRecord to TensorComparisonRecord.
  • test/registered/debug_utils/comparator/test_preset.py
    • Added, containing unit tests for CLI argument preset expansion logic.
  • test/registered/debug_utils/comparator/test_utils.py
    • Added comprehensive unit tests for compute_exit_code covering various scenarios of passed, failed, and skipped comparisons with pattern matching.
    • Added unit tests for auto_descend_dir functionality.
  • test/registered/debug_utils/comparator/testing_helpers.py
    • Added, providing shared test helpers for creating TensorStats, DiffInfo, and TensorInfo objects.
  • test/registered/debug_utils/source_patcher/test_code_patcher.py
    • Updated CI registration to nightly=True.
  • test/registered/debug_utils/source_patcher/test_dumper_integration.py
    • Updated CI registration to nightly=True.
  • test/registered/debug_utils/source_patcher/test_source_editor.py
    • Updated CI registration to nightly=True.
  • test/registered/debug_utils/test_dumper.py
    • Expanded parallel info collection verification in tests to include MoE data parallel and attention data parallel/context parallel ranks/sizes.
  • test/registered/debug_utils/test_engine_dumper_comparator_e2e.py
    • Updated E2E test to use Qwen3-30B-A3B (MoE model) and nightly-4-gpu CI suite.
    • Expanded patched fields to verify, including MoE and attention internals.
    • Added test_dp_attention scenario for comparing with data parallel attention enabled.
    • Refactored _run_e2e_scenario to handle different target TP, extra server args, and patch configs.
    • Modified generate request to use temperature=0 and max_new_tokens=1 for deterministic output.
    • Updated comparator CLI arguments to use --allow-skipped-pattern for input_ids and positions.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Warning

Gemini encountered an error creating the review. You can try again by commenting /gemini review.

@fzyzcjy fzyzcjy merged commit 3dd4649 into sgl-project:main Mar 2, 2026
33 of 41 checks passed
Kangyan-Zhou pushed a commit to Kangyan-Zhou/sglang that referenced this pull request Mar 4, 2026
magicYang1573 pushed a commit to magicYang1573/sglang that referenced this pull request Mar 9, 2026
Wangzheee pushed a commit to Wangzheee/sglang that referenced this pull request Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant