[Ascend NPU]add device abstraction and Ascend NPU support - #99
Conversation
8ef169b to
a4f9de3
Compare
Environment
|
|
Thanks for your Contribution to ROLL! This Design helps a lot for other Hardware support work. |
a4f9de3 to
3733f07
Compare
3733f07 to
a958bf4
Compare
2ee7599 to
1b8897f
Compare
1b8897f to
ccc21b4
Compare
|
Hi @HuangJoJo ,
We have updated these tasks in the ISSUE to facilitate their completion and tracking. We would like to thank @FightingZhen and @lowdy1 for their assistance, as well as the ROLL community ❤️ for providing resources and solutions! |
|
@FightingZhen, @lowdy1, Could you also help review the code, please? |
929e269 to
cfe07da
Compare
|
@FightingZhen , Thank you for your review, your suggestions were very helpful to me! |
cbd8101 to
39823df
Compare
noemotiovon
left a comment
There was a problem hiding this comment.
Thank you for your suggestion. I have revised it based on the review comments.
72d8418 to
008b128
Compare
|
Looks good to go, let's start official review 👍 |
ecc13df to
3be0575
Compare
1b9aff3 to
2e7adbd
Compare
This commit introduces native support for Ascend NPUs in the ROLL project while maintaining compatibility with existing CUDA-based infrastructure. Key changes include: - Added a unified device abstraction interface for initialization, memory management, and synchronization, enabling extensibility for both CUDA and Ascend. - Replaced direct usage of Ray CUDA resource APIs with the new abstraction layer to support heterogeneous multi-device environments. - Integrated Ascend inference backend via vLLM + vLLM-Ascend. - Added experimental training support with DeepSpeed on Ascend hardware. - Added documentation for Ascend usage. This enhancement lays the foundation for seamless switching between CUDA and Ascend devices. Future work: - Add inference support for SGLang on Ascend NPUs. - Add training support for Megatron on Ascend NPUs. - Add training support for FSDP on Ascend NPUs. - Add support for vLLM versions >= 0.10. - Provide documentation with accuracy and performance benchmarks. Co-authored-by: noemotiovon <757486878@qq.com> Co-authored-by: FightingZhen <295632982@qq.com> Co-authored-by: lowdy1 <xiahouweidong@gmail.com>
2e7adbd to
c8891b9
Compare
|
@noemotiovon 👋hello from ROLL!感谢您对我们的关注和贡献 👋 Hello from ROLL! Thank you for your interest and contributions to our project!
|











What does this PR do?
This PR introduces native support for Ascend NPUs in the ROLL project while maintaining compatibility with existing CUDA-based infrastructure.
Key changes
vLLM+vLLM-Ascend.docs/ascend/ascend_roll.md).This enhancement lays the foundation for seamless switching between CUDA and Ascend devices.
Future work
Accuracy comparison plan
RL-based methods (Agentic, RLVR, etc.):
Expect Mean Absolute Error (MAE) ≤ 4% between Ascend and A100 under identical configurations.
Supervised methods (DPO, Distill, etc.):
Expect Relative Error ≤ 2% between Ascend and A100 under identical configurations.
Throughput comparison plan
Compare Ascend NPU vs. A100 by averaging the throughput values (
tpu) of the first 4 steps from logs.Define throughput ratio as:
Test Environment
Worth noting:
Supported scripts