Skip to content

DSL design for next version #519

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 65 commits into from
Jul 24, 2025
Merged

DSL design for next version #519

merged 65 commits into from
Jul 24, 2025

Conversation

Binyang2014
Copy link
Contributor

No description provided.

@Binyang2014 Binyang2014 requested a review from Copilot July 10, 2025 22:12
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR drafts the next-version DSL for MSCCL++, adding new documentation and examples for the updated DSL and its execution plan.

  • Included a link in the main docs to the new “MSC­CL++ DSL Next” design doc.
  • Added a comprehensive execution-plan markdown (mscclpp-execution-plan.md).
  • Revised the core DSL reference (mscclpp-dsl.md) with updated introduction, concepts, and examples.

Reviewed Changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.

File Description
docs/index.rst Added entry for MSCCL++ DSL Next in the Design toctree
docs/design/mscclpp-execution-plan.md New file detailing the JSON execution-plan schema
docs/design/mscclpp-dsl.md Updated DSL overview, concepts, and example code snippets
Comments suppressed due to low confidence (5)

docs/index.rst:29

  • The link to design/mscclpp-dsl-next is added but no corresponding file is present; please ensure docs/design/mscclpp-dsl-next.md (or .rst) exists.
- :doc:`MSCCL++ DSL <design/mscclpp-dsl-next>` doc for those who want to understand the MSCCL++ DSL Next version.

docs/design/mscclpp-execution-plan.md:68

  • [nitpick] The word "support" is split across lines with a hyphen; please merge lines or adjust formatting for readability.
- Switch Channel: A SwitchChannel provides primitives for performing collective operations among GPUs. These operations usually require specialized hardware sup-

docs/design/mscclpp-execution-plan.md:986

  • The field name connectedTo is inconsistent with the earlier connected_to naming convention; please standardize on connected_to.
          "connectedTo": [

docs/design/mscclpp-dsl.md:29

  • [nitpick] Channel type names should match the class names (MemoryChannel, PortChannel, SwitchChannel) for consistency.
User need to use channel to communicate between ranks. Now we have three types of channels: memoryChannel, portChannel and switchChannel.

docs/design/mscclpp-dsl.md:109

  • Example uses Channel.memory, but the enum is likely ChannelType.memory; please correct the parameter to channel_type=ChannelType.memory.
    chan1 = Channel(dst_rank, src_rank, channel_type=Channel.memory)

@Binyang2014 Binyang2014 marked this pull request as ready for review July 18, 2025 22:30
@Binyang2014 Binyang2014 changed the title [Draft] DSL design for next version DSL design for next version Jul 18, 2025
Copy link
Contributor

@caiomcbr caiomcbr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Binyang2014 Binyang2014 merged commit 9275eeb into feature/dsl Jul 24, 2025
5 checks passed
@Binyang2014 Binyang2014 deleted the binyli/dsl branch July 24, 2025 23:06
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.

3 participants