fix: scope InfiniRT public install headers#4
Closed
voltjia wants to merge 2 commits into
Closed
Conversation
19 tasks
19 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
infini/rt/detail/....infini/rt/...paths instead of root-level short headers.src/*.h,src/common, andsrc/nativeinto the install include root.Motivation
InfiniOps consumes InfiniRT from the same install prefix. InfiniRT previously installed root-level headers such as
device.h,runtime.h,data_type.h, andhash.h, which could collide with InfiniOps legacy public headers and break installed consumers of<infini/rt.h>.No linked issue.
Type of Change
fix– Bug fix (non-breaking change that fixes an issue)feat– New feature (non-breaking change that adds functionality)breaking– Breaking change (fix or feature that would cause existing functionality to not work as expected)docs– Documentation updatebuild/ci– Build system or CI changesperf– Performance improvementtest– Test-only changesrefactor– Code refactoring without behavior changechore– Maintenance / cleanupPlatforms Affected
WITH_CPU)WITH_NVIDIA)WITH_ILUVATAR)WITH_METAX)WITH_CAMBRICON)WITH_MOORE)WITH_ASCEND)Smoke Test Result
InfiniRT CPU:
cmake -S . -B build-cpu -DWITH_CPU=ON -DINFINI_RT_BUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release cmake --build build-cpu -j2 ctest --test-dir build-cpu --output-on-failureResult: passed, 6/6 tests.
Install header boundary:
Result: verified the install prefix has no root-level InfiniRT
data_type.h,device.h,runtime.h, orhash.h; install consumer including only<infini/rt.h>passed.InfiniRT NVIDIA:
cmake -S . -B build-nvidia -DWITH_NVIDIA=ON -DCMAKE_BUILD_TYPE=Release cmake --build build-nvidia -j2Result: build passed.
Python formatting:
Result: passed.
C++ formatting: not run because
clang-format/ versionedclang-format-*is not installed in the available local or remote images.Test Results on Supported Platforms
Benchmark / Performance Impact
No runtime performance impact expected. This change only adjusts generated public include layout and install rules.
Notes for Reviewers
This is intended as the InfiniRT prerequisite for migrating InfiniOps to consume installed InfiniRT headers cleanly. The key thing to review is whether the generated public mirror under
infini/rt/detail/...contains every header needed by installed consumers without exposingsrc/native/...or root-level short header names.