Skip to content

feat: add standalone infinirt graph bridge#1351

Open
gongchensu wants to merge 12 commits into
issue/1373from
feat/standalone-infinirt-graph-bridge
Open

feat: add standalone infinirt graph bridge#1351
gongchensu wants to merge 12 commits into
issue/1373from
feat/standalone-infinirt-graph-bridge

Conversation

@gongchensu

Copy link
Copy Markdown
Collaborator

Route graph capture and replay through a dlopen-based standalone InfiniRT bridge when enabled.

Package the standalone InfiniRT runtime as libinfiniops_infinirt.so and ensure libinfiniops.so records that private dependency.

@gongchensu gongchensu self-assigned this Jun 30, 2026
@gongchensu gongchensu requested a review from a team June 30, 2026 06:59
@voltjia voltjia force-pushed the feat/standalone-infinirt-graph-bridge branch from 8687b05 to 0b447d0 Compare July 3, 2026 09:45
@gongchensu gongchensu force-pushed the feat/standalone-infinirt-graph-bridge branch from 82310d0 to 8fc2af0 Compare July 7, 2026 07:15
spike-zhu and others added 10 commits July 8, 2026 02:12
Route graph capture and replay through a dlopen-based standalone InfiniRT bridge when enabled.

Package the standalone InfiniRT runtime as libinfiniops_infinirt.so and ensure libinfiniops.so records that private dependency.
Synchronize RoPE cache copies before the cache is consumed by Ascend kernels.

Rename paged attention block_idx locals to page_block_idx to avoid AscendC kernel symbol conflicts while preserving the same block table address calculation.

Detect common Ascend driver library layouts before linking libascend_hal.so instead of relying on one hard-coded driver path.
The standalone bridge now calls the InfiniRT C++ runtime API directly, so remove the old loaded-library marker and keep the runtime log aligned with the actual path.
Use --infinirt-root or INFINI_RT_ROOT as the installed InfiniRT prefix for Core targets, install the runtime handle header with Core, and remove stale dependencies on the old in-tree infinirt target.

The standalone graph build switch is removed because graph capture is now controlled by USE_INFINIRT_GRAPH and routed through the InfiniRT runtime API directly.
Extend the Core-to-InfiniRT device translation table for Ascend and the other runtime-backed devices.

Add explicit stream conversion helpers because Core still stores streams as infinirtStream_t while the InfiniRT C++ runtime API takes infini::rt::runtime::Stream. Include infinirt.h here so the bridge sees the runtime handle typedefs.

Use those conversions for stream creation, async allocation, memcpy, memset, event recording, and stream wait calls.
Use the InfiniRT C++ runtime graph API directly for begin/end capture, instantiate, launch, and graph destruction.

Drop the old standalone bridge and environment-variable-gated path so graph mode uses the installed InfiniRT runtime whenever USE_INFINIRT_GRAPH is enabled.
@gongchensu gongchensu force-pushed the feat/standalone-infinirt-graph-bridge branch from a555546 to 1e5e8a7 Compare July 9, 2026 01:43
@gongchensu gongchensu changed the base branch from main to issue/1373 July 9, 2026 01:45
voltjia and others added 2 commits July 10, 2026 11:29
…e-infinirt-graph-bridge-issue1373-conflict

# Conflicts:
#	src/bridge/infini/rt.hpp
#	src/infinicore/context/allocators/stream_ordered_allocator.cc
#	src/infinicore/context/context_impl.cc
#	src/infinicore/context/runtime/runtime.cc
#	src/infinicore/graph/graph.cc
#	xmake.lua
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.

3 participants