Skip to content

fix(rccl): fix host microtest hipGetDeviceProperties redefinition - #11160

Merged
mch merged 1 commit into
developfrom
users/mahughes/aicomrccl-2283-hip-fake-getdeviceprops
Sep 3, 2026
Merged

mch merged 1 commit into
developfrom
users/mahughes/aicomrccl-2283-hip-fake-getdeviceprops

Conversation

@mch

@mch mch commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Define the versioned public HIP ABI symbol hipGetDevicePropertiesR0600 in the
host test HIP fakes instead of the unversioned hipGetDeviceProperties.

rocm-systems #10358 replaced the

#define hipGetDeviceProperties hipGetDevicePropertiesR0600

macro in hip_runtime_api.h with a static inline hipGetDeviceProperties wrapper
that delegates to hipGetDevicePropertiesR0600. The fake's unversioned
definition then collided with the header-provided inline, aborting the RCCL
build in TheRock CI. Callers inline the header wrapper down to a reference to
hipGetDevicePropertiesR0600, so defining that symbol satisfies the link and
works with both header generations.

Testing: ran test/host/run_host_tests.sh all — full pipeline (RCCL configure,
hipify, configure, build, run) plus kernel-count guards pass.

JIRA ID : AICOMRCCL-2283

…efinition

Define the versioned public HIP ABI symbol hipGetDevicePropertiesR0600 in
the host test HIP fakes instead of the unversioned hipGetDeviceProperties.

rocm-systems #10358 replaced the

    #define hipGetDeviceProperties hipGetDevicePropertiesR0600

macro in hip_runtime_api.h with a static inline hipGetDeviceProperties
wrapper that delegates to hipGetDevicePropertiesR0600. The fake's
unversioned definition then collided with the header-provided inline,
aborting the RCCL build in TheRock CI. Callers inline the header wrapper
down to a reference to hipGetDevicePropertiesR0600, so defining that
symbol satisfies the link and works with both header generations.

Co-authored-by: Pi Agent
@mch
mch requested review from a team September 3, 2026 02:54
@therock-pr-bot

therock-pr-bot Bot commented Sep 3, 2026

Copy link
Copy Markdown

✅ All Policy Checks Passed

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ⚠️ Warning Error: Source/code files changed without an accompanying unit test.
Expected: add at least one test file named like test_<name>.py / test_<name>.cpp (or <name>_test.*).
Current: code file(s) changed: projects/rccl/test/host/fakes/hip_fakes.cc; no test file found
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —

🎉 All policy checks passed!

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

🙋 Wish to Override Policy?

@amd-argus amd-argus Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated Review Guard for Upfront Scrutiny

No findings. The panel reviewed the changed files it was given and flagged nothing above Nit
level.

Bottom line: No blocking issues. The rename to hipGetDevicePropertiesR0600 is the sole definition of that symbol, keeps the g_hipGetDeviceProperties seam wired, and is ABI-neutral under both header generations.

Comment @argus review to re-run, or @argus re-review after pushing.

@mch
mch merged commit 6eff4d7 into develop Sep 3, 2026
65 of 73 checks passed
@mch
mch deleted the users/mahughes/aicomrccl-2283-hip-fake-getdeviceprops branch September 3, 2026 13:51
@systems-assistant

Copy link
Copy Markdown
Contributor

TheRock Submodule Bump Activity

Newest first

mikeqinamd added a commit that referenced this pull request Sep 11, 2026
## Motivation

When we release a new version, we would like to ensure that older
applications still compile with the new header. This PR introduces
`HIP_FORCE_API_VERSION` to specify which API version the application
wants to use. By default, it uses the latest version. Older applications
can define an older `HIP_FORCE_API_VERSION` in `cflags`.

It removes the old `#define` approach so that we do not pollute the
application with macros.

This is the second attempt. The first attempt:
#10358

## Issue Tracking

JIRA ID : AIRUNTIME-2713

## Test Result

The first attempt was reverted because it broke rccl tests. Later, rccl
tests was fixed by #11160

I've compiled with all components in TheRock monorepo. All builds fine.

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md.
nileshnegi pushed a commit that referenced this pull request Sep 16, 2026
…1160)

Define the versioned public HIP ABI symbol hipGetDevicePropertiesR0600
in the
host test HIP fakes instead of the unversioned hipGetDeviceProperties.

rocm-systems #10358 replaced the

    #define hipGetDeviceProperties hipGetDevicePropertiesR0600

macro in hip_runtime_api.h with a static inline hipGetDeviceProperties
wrapper
that delegates to hipGetDevicePropertiesR0600. The fake's unversioned
definition then collided with the header-provided inline, aborting the
RCCL
build in TheRock CI. Callers inline the header wrapper down to a
reference to
hipGetDevicePropertiesR0600, so defining that symbol satisfies the link
and
works with both header generations.

Testing: ran test/host/run_host_tests.sh all — full pipeline (RCCL
configure,
hipify, configure, build, run) plus kernel-count guards pass.

JIRA ID : AICOMRCCL-2283
marbre pushed a commit that referenced this pull request Sep 16, 2026
…11695)

Cherry-picks:
- #11094
- #11152
- #11160 

JIRA ID: ROCM-30957

---------

Signed-off-by: nileshnegi <Nilesh.Negi@amd.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Matt Hughes <matt.hughes@amd.com>
corey-derochie-amd pushed a commit that referenced this pull request Oct 14, 2026
…1160)

Define the versioned public HIP ABI symbol hipGetDevicePropertiesR0600
in the
host test HIP fakes instead of the unversioned hipGetDeviceProperties.

rocm-systems #10358 replaced the

    #define hipGetDeviceProperties hipGetDevicePropertiesR0600

macro in hip_runtime_api.h with a static inline hipGetDeviceProperties
wrapper
that delegates to hipGetDevicePropertiesR0600. The fake's unversioned
definition then collided with the header-provided inline, aborting the
RCCL
build in TheRock CI. Callers inline the header wrapper down to a
reference to
hipGetDevicePropertiesR0600, so defining that symbol satisfies the link
and
works with both header generations.

Testing: ran test/host/run_host_tests.sh all — full pipeline (RCCL
configure,
hipify, configure, build, run) plus kernel-count guards pass.

JIRA ID : AICOMRCCL-2283
corey-derochie-amd pushed a commit that referenced this pull request Oct 15, 2026
…1160)

Define the versioned public HIP ABI symbol hipGetDevicePropertiesR0600
in the
host test HIP fakes instead of the unversioned hipGetDeviceProperties.

rocm-systems #10358 replaced the

    #define hipGetDeviceProperties hipGetDevicePropertiesR0600

macro in hip_runtime_api.h with a static inline hipGetDeviceProperties
wrapper
that delegates to hipGetDevicePropertiesR0600. The fake's unversioned
definition then collided with the header-provided inline, aborting the
RCCL
build in TheRock CI. Callers inline the header wrapper down to a
reference to
hipGetDevicePropertiesR0600, so defining that symbol satisfies the link
and
works with both header generations.

Testing: ran test/host/run_host_tests.sh all — full pipeline (RCCL
configure,
hipify, configure, build, run) plus kernel-count guards pass.

JIRA ID : AICOMRCCL-2283
corey-derochie-amd pushed a commit that referenced this pull request Oct 15, 2026
…1160)

Define the versioned public HIP ABI symbol hipGetDevicePropertiesR0600
in the
host test HIP fakes instead of the unversioned hipGetDeviceProperties.

rocm-systems #10358 replaced the

    #define hipGetDeviceProperties hipGetDevicePropertiesR0600

macro in hip_runtime_api.h with a static inline hipGetDeviceProperties
wrapper
that delegates to hipGetDevicePropertiesR0600. The fake's unversioned
definition then collided with the header-provided inline, aborting the
RCCL
build in TheRock CI. Callers inline the header wrapper down to a
reference to
hipGetDevicePropertiesR0600, so defining that symbol satisfies the link
and
works with both header generations.

Testing: ran test/host/run_host_tests.sh all — full pipeline (RCCL
configure,
hipify, configure, build, run) plus kernel-count guards pass.

JIRA ID : AICOMRCCL-2283
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants