dmlc / dmlc/dgl

Add NPU Device Support to DGL

Open
#7,920 1 comment 0 reactions 0 assignees View on GitHub
stale-issue
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.