Skip to content

Conversation

@jiangyunfan1
Copy link
Contributor

@jiangyunfan1 jiangyunfan1 commented Oct 25, 2025

What this PR does / why we need it?

This PR adds the 2P1D multi node func/acc/perf test cases, we need test them daily

Does this PR introduce any user-facing change?

No

How was this patch tested?

by running the test

@github-actions
Copy link

👋 Hi! Thank you for contributing to the vLLM Ascend project. The following points will speed up your PR merge:‌‌

  • A PR should do only one thing, smaller PRs enable faster reviews.
  • Every PR should include unit tests and end-to-end tests ‌to ensure it works and is not broken by other future PRs.
  • Write the commit message by fulfilling the PR description to help reviewer and future developers understand.

If CI fails, you can run linting and testing checks locally according Contributing and Testing.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request enables and updates a multi-node end-to-end test for the DeepSeek-R1-W8A8 model. The changes include updating benchmark configurations in the YAML file, implementing the test logic in test_multi_node.py to run performance and accuracy tests using aisbench, and a small fix in aisbench.py to handle single test cases. My review focuses on the implementation in test_multi_node.py. I've identified a potential issue with calling blocking code from an asynchronous function, which could impact performance and is against asyncio best practices. I've provided a suggestion to fix this.

Comment on lines 55 to 56
run_aisbench_cases(config.model, port, acc_cmd)
run_aisbench_cases(config.model, port, perf_cmd)
Copy link
Contributor

Choose a reason for hiding this comment

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

high

The run_aisbench_cases function is synchronous and performs blocking I/O operations (e.g., subprocess.Popen and reading from stdout). Calling it directly from an async function like test_multi_node will block the asyncio event loop, which can lead to performance issues and defeats the purpose of using asyncio.

You should run blocking functions in a separate thread to avoid blocking the event loop. You can use asyncio.to_thread for this.

Note: You'll need to add import asyncio at the top of the file.

Suggested change
run_aisbench_cases(config.model, port, acc_cmd)
run_aisbench_cases(config.model, port, perf_cmd)
await asyncio.to_thread(run_aisbench_cases, config.model, port, acc_cmd)
await asyncio.to_thread(run_aisbench_cases, config.model, port, perf_cmd)

@jiangyunfan1 jiangyunfan1 changed the title New branch4 [TEST]Add 2P1D multi node cases for nightly test Oct 25, 2025
jiangyunfan1 and others added 10 commits October 25, 2025 09:25
Signed-off-by: jiangyunfan1 <[email protected]>
Signed-off-by: jiangyunfan1 <[email protected]>
Signed-off-by: wangli <[email protected]>
Signed-off-by: wangli <[email protected]>
Signed-off-by: wangli <[email protected]>
Signed-off-by: wangli <[email protected]>
Signed-off-by: wangli <[email protected]>
Signed-off-by: wangli <[email protected]>
Signed-off-by: wangli <[email protected]>
@wangxiyuan wangxiyuan merged commit 9030106 into vllm-project:main Oct 27, 2025
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants