Skip to content

issue/1320 - support InfiniOps standalone InfiniRT in InfiniCore#1327

Draft
voltjia wants to merge 1 commit into
mainfrom
issue/1320/infinirt-ops644
Draft

issue/1320 - support InfiniOps standalone InfiniRT in InfiniCore#1327
voltjia wants to merge 1 commit into
mainfrom
issue/1320/infinirt-ops644

Conversation

@voltjia

@voltjia voltjia commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR adds InfiniCore build/runtime support for the InfiniOps standalone InfiniRT integration from InfiniTensor/InfiniOps#644.

Fixes #1320.

Root Cause

After InfiniOps moves to standalone InfiniRT, InfiniCore consumers need to see the same installed InfiniOps public headers and runtime libraries that libinfiniops.so was built with.

The previous integration could still compile against InfiniOps source/build-tree headers and libraries directly. That is fragile with the exported Operator::Call boundary, and it can also mix InfiniCore's own libinfinirt.so with InfiniOps' standalone libinfinirt.so at runtime.

Changes

  • Add --infinirt-root / INFINI_RT_ROOT support for InfiniOps builds.
  • Build and install InfiniOps through CMake before compiling InfiniCore's InfiniOps-backed consumer code, so installed public headers are present in a clean prefix.
  • Make infinicore_cpp_api consume installed InfiniOps headers/libs from ${INFINI_ROOT} instead of submodules/InfiniOps/src or the InfiniOps build tree.
  • Copy standalone InfiniRT into the InfiniCore package as libinfiniops_infinirt.so and patch libinfiniops.so to depend on that private SONAME, avoiding ABI/runtime mixing with InfiniCore's own libinfinirt.so.
  • Keep _infinicore packaging in sync by shipping libinfiniops.so and the private InfiniOps InfiniRT runtime.

Validation

Validated on ssh nvidia with image accelerator-dev/nvidia:latest using:

  • InfiniCore branch: issue/1320/infinirt-ops644 at c80689e3
  • InfiniOps branch: feat/infinirt_runtime at 94c7bc0

Checks performed:

IMPORT_OK /work/InfiniCore/python/infinicore/__init__.py
OPS_NEEDED: Shared library: [libinfiniops_infinirt.so]
undefined Operator::Call count: 23
local Operator::Call count: 0
libinfiniops.so => /work/InfiniCore/python/infinicore/lib/libinfiniops.so
libinfiniops_infinirt.so => /work/InfiniCore/python/infinicore/lib/libinfiniops_infinirt.so

InfiniLM inference also completed successfully with Qwen3-0.6B on NVIDIA:

===Response===
<think>
...
</think>

I'm here to help! How can I assist you today? Let me know if there's anything you need! 😊<|im_end|>

total_time: 43690.41 ms

Notes:

  • The validation used a clean InfiniCore install prefix for InfiniOps public headers/libs.
  • InfiniLM still needs its existing fmt link workaround in this validation environment.
  • FlashAttention build requires CUTLASS_ROOT to point at third_party/flash-attention/csrc/cutlass in this environment.

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.

[BUG] InfiniOps standalone InfiniRT integration breaks InfiniCore consumer build

1 participant