Skip to content

feat(hygon): add graph runtime support#32

Merged
voltjia merged 1 commit into
InfiniTensor:masterfrom
gongchensu:feat/hygon-graph-runtime
Jul 21, 2026
Merged

feat(hygon): add graph runtime support#32
voltjia merged 1 commit into
InfiniTensor:masterfrom
gongchensu:feat/hygon-graph-runtime

Conversation

@gongchensu

@gongchensu gongchensu commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Extend Runtime<Device::Type::kHygon> with InfiniRT's GraphRuntime interface.
  • Expose DTK graph capture, instantiate, launch, and cleanup operations.
  • Add test_hygon_graph to validate native Hygon graph capture and replay.

Motivation

The Hygon runtime previously implemented only the common CUDA runtime interface. As a result, upper layers such as InfiniCore could not use the common InfiniRT C++ graph bridge on Hygon devices.

This change exposes DTK's CUDA-compatible graph APIs through the existing InfiniRT GraphRuntime abstraction. It allows Hygon to use the same graph capture and replay path as other supported backends without introducing a backend-specific graph implementation.

No linked issue.

Type of Change

  • feat - new feature / new backend capability / new public API
  • fix - bug fix
  • perf - performance improvement without behavior change
  • refactor - code restructuring without behavior change
  • test - adding or fixing tests only
  • docs - documentation only
  • build / ci - build system or CI configuration
  • chore - tooling, formatting, or other non-code changes
  • Breaking change (requires a ! in the Conventional Commits prefix or a BREAKING CHANGE: footer)

Platforms Affected

  • CPU (WITH_CPU)
  • NVIDIA (WITH_NVIDIA)
  • Iluvatar (WITH_ILUVATAR)
  • Hygon (WITH_HYGON)
  • MetaX (WITH_METAX)
  • Moore (WITH_MOORE)
  • Cambricon (WITH_CAMBRICON)
  • Ascend (WITH_ASCEND)
  • Build system / CMake / generated headers
  • Public headers / installed consumer API
  • Documentation only

Smoke Build and Test Result

Tested on a Hygon BW DCU with DTK 26.04-rc4.

cmake -S . -B build-hygon \
  -DCMAKE_BUILD_TYPE=Release \
  -DWITH_CPU=ON \
  -DWITH_HYGON=ON \
  -DDTK_ROOT=/opt/dtk \
  -DINFINI_RT_BUILD_TESTING=ON

cmake --build build-hygon --parallel 8

export LD_LIBRARY_PATH=/opt/dtk/cuda/cuda-12/targets/x86_64-linux/lib:$LD_LIBRARY_PATH

ctest \
  --test-dir build-hygon \
  --output-on-failure

```text
paste smoke build and test output here

Test Results on Supported Platforms

Platform Affected Build / Smoke Result Full Result / Notes
CPU
NVIDIA
Iluvatar
Hygon
MetaX
Moore
Cambricon
Ascend
Full `ctest` output (optional)
paste here

Benchmark / Performance Impact

Notes for Reviewers

Expose DTK CUDA graph types and capture, instantiate, launch, and cleanup operations through InfiniRT's GraphRuntime interface.

Register the Hygon backend graph test so capture and replay behavior is exercised on supported hardware. This enables InfiniCore to use the common InfiniRT C++ graph bridge instead of a backend-specific path.
@voltjia
voltjia merged commit b8fa1b6 into InfiniTensor:master Jul 21, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants