‹ Reports
The Dispatch

OSS Report: sgl-project/sglang


SGLang Project Sees Surge in Activity with Focus on Performance and Compatibility Enhancements

SGLang, a framework designed for efficiently serving large language and vision-language models, has experienced a notable increase in development activity, particularly around performance optimization and hardware compatibility. The project is gaining traction with over 5,100 stars on GitHub, supported by a vibrant community.

Recent developments have centered on addressing performance bottlenecks and expanding model support. Key issues involve slow inference speeds and CUDA memory management errors. New features are being requested to enhance multi-GPU support and quantization methods. The development team is actively engaged in resolving these issues, as evidenced by the high number of open issues and pull requests.

Recent Activity

Recent issues and pull requests (PRs) highlight ongoing efforts to improve SGLang's performance and compatibility. Notable issues include #1424 regarding missing parameters in ProcessPoolExecutor, and #1421 addressing CUDA graph errors with DeepSeek models. These indicate a focus on resolving critical bugs affecting model performance.

The development team has been active, with contributions from members such as Yineng Zhang focusing on bug fixes and JSON schema enhancements, Ke Bao adding unit tests and optimizing attention backends, and Jerry Zhang implementing quantization improvements. Their recent activities are as follows:

Of Note

  1. Performance Optimization Focus: Many recent commits aim to enhance model performance through CUDA operations and quantization techniques.

  2. Cross-Hardware Compatibility: Efforts to support AMD GPUs via ROCm (#1420) reflect a push for broader hardware compatibility.

  3. Scheduling Algorithm Improvements: PRs like #1417 introduce new scheduling mechanisms to optimize resource utilization.

  4. Collaborative Development Culture: Frequent co-authored commits indicate strong teamwork within the development community.

  5. Active Community Engagement: The high volume of open issues and PRs suggests robust community involvement in shaping the project's trajectory.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 35 18 56 34 1
30 Days 108 63 293 88 1
90 Days 238 184 720 173 1
All Time 511 407 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Lianmin Zheng 3 48/45/2 53 155 8130
Yineng Zhang 3 33/31/1 33 60 4277
Liangsheng Yin 4 23/18/4 30 64 3134
Ying Sheng 1 12/11/1 11 28 1771
Kaichen Zhang - NTU 1 5/5/0 5 18 956
hxer7963 1 1/1/0 1 3 830
William 1 2/2/0 2 5 687
김종곤 1 2/2/0 2 5 613
Ke Bao 1 5/5/0 5 10 607
Byron Hsu 1 5/5/0 5 8 462
Mingyi 1 3/3/0 3 25 439
Vectory 1 1/1/0 1 2 423
Chayenne 1 3/2/1 2 18 364
Shan Yu 1 1/1/0 1 7 316
yichuan 1 1/1/0 2 9 306
Juwan Yoo 1 1/1/0 1 4 295
Jerry Zhang 1 3/2/0 2 12 233
Kai-Hsun Chen 1 2/2/0 2 17 195
xiaobochen 1 1/1/0 1 2 160
havetc 1 2/2/0 2 10 154
caiyueliang 1 1/1/0 1 3 128
Christopher Chou 1 1/1/0 1 4 103
intervitens 1 1/1/0 1 7 67
zifeitong 1 1/1/0 1 4 62
Zhanghao Wu 1 2/2/0 2 1 42
Yonghao Zhuang 1 0/0/0 3 4 31
Jani Monoses 1 2/1/1 1 2 18
Yifan Qiao 1 0/0/0 1 2 18
Lucien 1 1/1/0 1 1 17
Zihao Ye 1 1/1/0 1 1 14
rainred 1 2/1/1 1 1 14
Enrique Shockwave 1 3/2/0 2 4 10
Xu-Chen 1 1/1/0 1 2 9
josephrocca 1 1/1/0 1 1 9
Zhiqiang Xie 1 2/1/1 1 1 7
wangchao 1 1/1/0 1 1 4
Dr. Artificial曾小健 1 1/1/0 1 1 4
lxww302 1 1/1/0 1 1 3
Max Shawabkeh 1 1/1/0 1 1 2
min-xu-et 1 1/1/0 1 1 2
HAI (HaiShaw) 0 1/0/0 0 0 0
None (yukavio) 0 1/0/0 0 0 0
None (81549361) 0 1/0/1 0 0 0
Musab Gültekin (musab-mk) 0 1/0/1 0 0 0
Jianyu Zhan (JianyuZhan) 0 1/0/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The GitHub repository for the SGLang project has seen a recent surge in activity, with 104 open issues currently logged. Notably, several issues have been created or updated within the last few days, indicating ongoing development and user engagement. A significant number of these issues are related to bugs and feature requests, particularly concerning model compatibility and performance optimizations.

Several themes emerge from the recent issues: - Performance Concerns: Multiple users report slow inference speeds, particularly when using specific models or configurations (e.g., DeepSeek models, Llama 3.1). - Compatibility Issues: There are frequent mentions of errors related to CUDA memory management and device-side assertions, especially when using advanced features like torch.compile or multi-GPU setups. - Feature Requests: Users are actively requesting support for new models and enhancements to existing functionalities, such as improved quantization methods and better handling of long context inputs.

Issue Details

Recently Created Issues

  1. Issue #1424: [Bug] missing max_workers param when initiate ProcessPoolExecutor

    • Priority: High
    • Status: Open
    • Created: 0 days ago
  2. Issue #1421: [Bug] deepseek-v2 fp8 cuda graph error

    • Priority: High
    • Status: Open
    • Created: 0 days ago
  3. Issue #1419: [Feature] Support AMD GPU via PyTorch for ROCm

    • Priority: Medium
    • Status: Open
    • Created: 1 day ago
  4. Issue #1416: [Bug] AttributeError: 'MiniCPM3ForCausalLM' object has no attribute 'get_module_name'

    • Priority: High
    • Status: Open
    • Created: 1 day ago
  5. Issue #1415: [Bug] Issue with batch API

    • Priority: High
    • Status: Open
    • Created: 1 day ago

Recently Updated Issues

  1. Issue #1398: [Bug] This modeling file requires the following packages that were not found in your environment...

    • Priority: Medium
    • Status: Open
    • Updated: 3 days ago
  2. Issue #1396: [Feature] support awq of deepseek-v2 or deepseek-v2.5

    • Priority: Medium
    • Status: Open
    • Updated: 3 days ago
  3. Issue #1388: [Feature] Support torch profiler

    • Priority: Low
    • Status: Open
    • Updated: 3 days ago
  4. Issue #1384: [Feature] Support RM API

    • Priority: Low
    • Status: Open
    • Updated: 4 days ago
  5. Issue #1366: SGLang Discussion WeChat Group

    • Priority: Low
    • Status: Open
    • Updated: 5 days ago

Summary of Observations

  • The majority of recent issues focus on bugs related to model performance and compatibility, particularly with CUDA configurations.
  • There is a clear demand for features that enhance the framework's capabilities, especially regarding multi-GPU support and improved quantization methods.
  • The community appears active in both reporting issues and contributing to discussions around potential solutions and enhancements.

This analysis highlights critical areas for improvement within the SGLang project, particularly in addressing performance bottlenecks and expanding model support to meet user needs effectively.

Report On: Fetch pull requests



Overview

The dataset provided contains a comprehensive list of pull requests (PRs) from the SGLang project, which focuses on serving large language models efficiently. The data includes both open and closed PRs, highlighting various improvements, bug fixes, and feature additions to the framework.

Summary of Pull Requests

  1. PR #1422: Enable torch.compile for triton backend

    • State: Open
    • Significance: Introduces support for torch.compile with the Triton backend, improving performance metrics such as latency and throughput.
    • Notable Comments: Positive feedback on performance improvements from reviewers.
  2. PR #1420: Enable SGLang on AMD GPUs via PyTorch for ROCm

    • State: Open
    • Significance: Expands compatibility to AMD GPUs, addressing the need for broader hardware support.
    • Comments: Acknowledgment of ongoing issues that need resolution.
  3. PR #1417: fallback to round robin scheduler

    • State: Open
    • Significance: Implements a fallback mechanism in the scheduling algorithm to improve worker utilization under certain conditions.
    • Dispute: Discussion about the effectiveness of this change in improving overall speed.
  4. PR #1383: Rewrite mixed chunked prefill

    • State: Open (Draft)
    • Significance: Aims to enhance the prefill mechanism but lacks detailed motivation and modifications in the description.
  5. PR #1377: [not for land] debug only

    • State: Open
    • Significance: Debugging PR with no intention of merging; primarily for internal testing.
  6. PR #1305: feat: update linear deps 1/N

    • State: Open (Draft)
    • Significance: Part of a series updating dependencies; still under development with unresolved issues.
  7. PR #1287: Separated control and compute loop...

    • State: Open
    • Significance: Proposes significant architectural changes aimed at improving throughput by decoupling control logic from computation.
  8. PR #1142: Flex scheduler

    • State: Open
    • Significance: Introduces a new dispatch strategy for data parallelism, awaiting further optimizations and tests.
  9. PR #1127: [RFC] Add an LLM engine

    • State: Open
    • Significance: Initial proposal for an LLM engine, still in early stages with significant architectural implications.
  10. PR #1041: Sequence Parallel

    • State: Open
    • Significance: Introduces sequence parallelism for large models, addressing specific architectural challenges.
  11. PR #573: Function calling for OpenAI backend

    • State: Open
    • Significance: Adds function calling capabilities to the OpenAI backend, enhancing its usability in various applications.

Analysis of Pull Requests

Themes and Commonalities

The recent pull requests reflect a strong focus on enhancing performance and expanding compatibility across different hardware platforms. Notably, PRs like #1420 and #1417 demonstrate efforts to ensure that SGLang can leverage both NVIDIA and AMD GPUs effectively, which is crucial given the diverse hardware landscape in AI development environments.

Another recurring theme is the introduction of new scheduling algorithms and optimizations aimed at improving resource utilization (#1417, #1287). The discussions surrounding these PRs indicate an active engagement among contributors regarding the best approaches to maximize throughput while maintaining system stability.

Feature Enhancements

Several PRs are dedicated to enhancing specific features within SGLang, such as the introduction of torch.compile support (#1422) and improvements to existing scheduling mechanisms (#1417). These enhancements are not just incremental; they aim to significantly boost performance metrics like latency and throughput, which are critical for real-time applications involving large language models.

Anomalies and Disputes

There are notable discussions around certain PRs that highlight disagreements or uncertainties regarding their effectiveness or implementation strategies. For instance, in PR #1417, there is skepticism about whether the proposed round-robin fallback will genuinely improve overall system speed. Such debates are healthy within an open-source project as they encourage thorough examination of proposed changes before integration.

Additionally, some PRs remain in draft status or have unclear motivations (#1383), indicating potential bottlenecks in progress due to lack of clarity or consensus among contributors regarding their necessity or implementation details.

Lack of Merge Activity

While there is a substantial number of open PRs (11), it is essential to note that many have been open for several days without merging activity. This could suggest either a backlog in review processes or that contributors are awaiting further feedback before proceeding with merges. The community's responsiveness to these PRs will be crucial in maintaining momentum and ensuring timely updates to the framework.

Conclusion

Overall, the pull requests reflect a vibrant community actively working towards improving SGLang's capabilities while navigating challenges associated with performance optimization and cross-platform compatibility. The discussions and reviews surrounding these contributions indicate a collaborative environment where ideas can be debated constructively, ultimately leading to a more robust framework for serving large language models efficiently.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Recent Contributions

  1. Yineng Zhang (zhyncs)

    • Recent contributions include fixing nightly evaluation issues, resolving CUDA graph conflicts, and enhancing JSON schema support.
    • Collaborated with Lianmin Zheng on CI improvements and documentation updates.
    • Active in bug fixes and feature enhancements, particularly in the context of model performance.
  2. Ke Bao (ispobock)

    • Focused on adding unit tests for the PyTorch sampling backend and supporting new models like XVERSE.
    • Contributed to performance optimizations in the attention backend.
  3. Jerry Zhang (jerryzh168)

    • Implemented torchao quantization for specific models and contributed to bug fixes related to model loading.
    • His recent work indicates a focus on improving model efficiency.
  4. Liangsheng Yin (hnyls2002)

    • Made significant contributions, including optimizing CUDA graph interactions, fixing bugs in sampling layers, and enhancing performance metrics.
    • Collaborated with multiple team members on various features and bug fixes.
  5. Lianmin Zheng (merrymercy)

    • Engaged heavily in CI/CD improvements, documentation updates, and feature additions such as multi-LoRA serving support.
    • Actively involved in merging branches and resolving conflicts across various features.
  6. Ying Sheng (Ying1123)

    • Contributed to minor fixes, CI enhancements, and documentation improvements.
    • Focused on ensuring code quality through testing and debugging efforts.
  7. Kaichen Zhang (kcz358)

    • Worked on debugging performance tests and implementing mixed attention mechanisms.
    • His contributions reflect a focus on optimizing model performance.
  8. Zihao Ye (yzh119)

    • Recently contributed to kernel optimizations related to tensor operations.
  9. William (Achazwl)

    • Focused on adding support for new models and fixing minor bugs.
  10. Byron Hsu (ByronHsu)

    • Contributed to fixing issues in attention mechanisms and improving testing frameworks.
  11. Joseph Rocca (josephrocca)

    • Minor contributions focused on server compatibility issues with various APIs.
  12. Wang Chao (wcsjtu)

    • Made small bug fixes related to task management within the framework.

Patterns and Themes

  • Collaborative Efforts: There is a strong collaborative culture within the team, as evidenced by multiple co-authored commits and frequent references to other team members in commit messages.

  • Focus on Performance: Many recent commits are centered around optimizing model performance, particularly with respect to CUDA operations, attention mechanisms, and quantization techniques.

  • Continuous Integration Improvements: A significant number of commits are dedicated to enhancing CI/CD processes, indicating a commitment to maintaining code quality and reducing integration issues.

  • Documentation Updates: Regular updates to documentation suggest an emphasis on keeping the community informed about changes, new features, and installation instructions.

  • Active Bug Fixing: The team is actively addressing bugs across various components of the framework, which is critical for maintaining stability as new features are added.

Conclusion

The development team is actively engaged in enhancing the SGLang framework through collaborative efforts focused on performance optimization, continuous integration improvements, and thorough documentation practices. Their recent activities reflect a commitment to maintaining high-quality standards while expanding the framework's capabilities.