Summary
Add an Ascend NPU end-to-end test for CAMAsyncAFDConnector after the async connector refactor merged in #203.
The test should follow the refactored E2E framework under tests/e2e/ instead of introducing a connector-specific launch or evaluation harness. Use DeepSeek-V2-Lite to keep the model-side resource requirement manageable. The device count is not fixed to three: select and document a representative topology supported by CAMAsync and the available hardware, with more devices allowed when required.
Scope
- Add one stable E2E case, for example
async-cam-eager, for CAMAsyncAFDConnector.
- Run on Ascend NPU with DeepSeek-V2-Lite.
- Make the Attention/FFN device lists and topology explicit and configurable through the refactored E2E framework; do not hard-code a 2 Attention + 1 FFN topology for this case.
- If the chosen CAMAsync topology exceeds the current framework's three-device/2A1F assumptions, extend the common topology validation and command construction cleanly rather than adding a connector-specific harness.
- Configure the async connector through the shared runner:
connector=CAMAsyncAFDConnector
async=true
compute_gate_on_attention=true
- eager execution, since CAMAsync does not support graph execution
- Reuse the shared service startup, readiness checks, GSM8K evaluation, signal handling, and process cleanup in
tests/e2e/runner.py and tests/e2e/process_utils.py.
- Add focused CPU-safe unit coverage for the generated commands, connector flags, launch order, configurable topology validation, and failure/cleanup paths.
- Update
tests/e2e/README.md and the E2E design/support matrix where needed.
Validation
The PR E2E case should:
- evaluate the standard first 7 GSM8K samples with 8-shot prompting;
- enforce the existing sample-count and accuracy gates;
- fail on missing setup, service failure, incomplete/NaN results, or cleanup failure;
- run without
skip or xfail;
- leave no Attention, FFN, or evaluator process behind;
- record the exact Attention/FFN topology, device count, vLLM, vLLM-Ascend, AFD, CANN/CAM operator, model, duration, and accuracy evidence from a real NPU run.
Acceptance criteria
Dependency
Builds on the async connector refactor merged in #203.
Summary
Add an Ascend NPU end-to-end test for
CAMAsyncAFDConnectorafter the async connector refactor merged in #203.The test should follow the refactored E2E framework under
tests/e2e/instead of introducing a connector-specific launch or evaluation harness. Use DeepSeek-V2-Lite to keep the model-side resource requirement manageable. The device count is not fixed to three: select and document a representative topology supported by CAMAsync and the available hardware, with more devices allowed when required.Scope
async-cam-eager, forCAMAsyncAFDConnector.connector=CAMAsyncAFDConnectorasync=truecompute_gate_on_attention=truetests/e2e/runner.pyandtests/e2e/process_utils.py.tests/e2e/README.mdand the E2E design/support matrix where needed.Validation
The PR E2E case should:
skiporxfail;Acceptance criteria
async-cam-eagerpytest node is added using the refactored E2E framework.CAMAsyncAFDConnectorand passes the required async configuration.Dependency
Builds on the async connector refactor merged in #203.