Add NPU Device Support to DGL
- Dominant language
- Python
- Stars
- 14.3k
- Forks
- 3.1k
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
This RFC proposes adding native support for Huawei Ascend NPUs to DGL’s backend and runtime system.
Today, DGL primarily supports:
* CPU
* CUDA GPUs
As Huawei Ascend NPUs become increasingly important for AI training and inference workloads, enabling DGL support on NPU devices would improve portability and broaden hardware support for GNN applications.
Most tensor operations used by DGL are already supported through PyTorch and `torch_npu`. This RFC proposes extending DGL’s device abstraction and graph execution pipeline to support Ascend NPUs natively.
---
# Current Work
https://github.com/dmlc/dgl/pull/7912
The work by @zhuqiming1025 introduces preliminary Ascend NPU support in DGL by integrating an experimental NPU backend path and validating core GNN workloads on NPU devices.
Current progress includes:
* adding build environment setup script for Huawei Ascend NPU platforms
* enabling DGL graph execution on Ascend NPUs
* adding prototype NPU SpMM kernels
* supporting basic message passing workflows on NPU
* validating GCN training on NPU
* integrating LightGCN examples and benchmark scripts
* fixing runtime and device compatibility issues across CPU/GPU/NPU execution paths
This work serves as an initial step toward broader accelerator support in DGL and explores how existing graph abstractions and message passing APIs can operate on NPU hardware.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.