#7920·dgl

Add NPU Device Support to DGL

Author: lowdy1Created May 7, 2026Updated Jun 7, 2026
Labelsstale-issue

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.