Skip to content

Encode Prefill Disaggregation testcases#219

Merged
cherryblo merged 42 commits intoAscend:testcasesfrom
shun8686:xyf-EPD
Apr 14, 2026
Merged

Encode Prefill Disaggregation testcases#219
cherryblo merged 42 commits intoAscend:testcasesfrom
shun8686:xyf-EPD

Conversation

@EdwardXuy
Copy link
Copy Markdown

Motivation

This PR aims to enhance the testing coverage for VLM (Vision-Language Model) encoder-prefill disaggregation on Ascend NPU hardware. It introduces a comprehensive test suite to validate the interaction of key parameters (--encoder-only, --language-only, --encoder-transfer-backend, --encoder-urls, and --enable-adaptive-dispatch-to-encoder) in a multi-process environment.

The goal is to ensure the system correctly handles both single-image (local processing) and multi-image (distributed processing) scenarios, as well as verifies the stability of different encoder transfer backends.

Modifications

  1. New Test File: test_npu_adaptive_dispatch_to_encoder.py

    • Purpose: Verifies the --enable-adaptive-dispatch-to-encoder parameter.
    • Logic: Launches a --language-only server without an encoder backend. It validates that single-image requests are processed locally (adaptive dispatch) while ensuring the parameter is correctly recognized by the server.
    • Dependency: This test acts as a regression test for the fix in PR [EPD][Feat]support adaptive forward sgl-project/sglang#18118 (mm_pool handling).
  2. New Test File: test_npu_disaggregated_vlm.py

    • Purpose: Verifies the end-to-end functionality of encoder-prefill disaggregation.
    • Logic: Launches two separate servers: an --encoder-only server and a --language-only server. It tests the communication between them.
    • Coverage: This single file now covers multiple backend configurations (zmq_to_scheduler, zmq_to_tokenizer) through subclassing, ensuring that:
      • The encoder server loads correctly.
      • The language server can forward multimodal requests to the encoder.
      • Text-only generation works independently on the language model.

Accuracy Tests

N/A

  • This PR only adds testing infrastructure (test scripts) and does not modify the core inference engine, model weights, or sampling logic. Therefore, it does not affect model output accuracy.

Speed Tests and Profiling

N/A

  • This PR focuses on functional validation of parameter interactions and service orchestration. It does not introduce changes to the kernel or attention backends that would impact inference speed.

Checklist

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@ascend-robot
Copy link
Copy Markdown

CLA Signature Guide

@EdwardXuy , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
e2cec4a5 add functions and EPD the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.
6c40a3b7 Add 'testcases' branch to lint w... the email used in the commit is not linked to a signed CLA!
please verify that it matches the email you used when signing the CLA.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

@cherryblo cherryblo merged commit 2cc10fb into Ascend:testcases Apr 14, 2026
7 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