Skip to content

fix(ocl) - Install ocltst files to bin dir, ocltst libs to paths according to OS - #4305

Merged
agunashe merged 38 commits into
mainfrom
users/agunashe/ocltst_path
Oct 7, 2026
Merged

agunashe merged 38 commits into
mainfrom
users/agunashe/ocltst_path

Conversation

@agunashe

@agunashe agunashe commented Apr 2, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

Windows -

  • Install ocltst binary to bin directory.
  • Windows users can execute it directly without having to copy dlls

Linux -

  • Install ocltst libs to lib directory.
  • Windows users can execute it directly without having to copy dlls
  • OpenCl lib dependency will be fullfiled by distro package and not from Rock

Requires ocltst installation to bin directory in rocm-system PR
ROCm/rocm-systems#4632 - originally merged but was reverted becasue of missing Opencl dependencies in the libs. Opencl will be provided by distro package
ROCm/rocm-systems#9804 - new PR to install the files in the right folder.

This rock PR should independently succeed without changes from rocm-systems. Only rocm-systems PR9804 depends on this PR

ISSUE ID: #4192

Test Plan

ocl_test package should have all files required to execute the tests

Test Result

ocl_test to have the required files

Submission Checklist

@agunashe
agunashe marked this pull request as draft April 2, 2026 00:18
@agunashe agunashe changed the title artifacts: ocltst files from bin install ocltst files to bin dir Apr 2, 2026
@agunashe
agunashe requested a review from Copilot April 2, 2026 21:30

Copilot AI 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.

Pull request overview

Adjusts the core-ocl artifact packaging rules to align which OpenCL CLR outputs get shipped in the run vs test components.

Changes:

  • Narrow components.run contents from all bin/** to just bin/clinfo.
  • Narrow components.test contents from tests/** and share/opencl/** to just bin/ocltst.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread core/artifact-core-ocl.toml Resolved
Comment thread core/artifact-core-ocl.toml Resolved
Comment thread core/artifact-core-ocl.toml Resolved
agunashe and others added 2 commits April 2, 2026 14:43
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@agunashe agunashe changed the title install ocltst files to bin dir Install ocltst files to bin dir Apr 3, 2026
@agunashe
agunashe marked this pull request as ready for review April 13, 2026 16:53
@agunashe
agunashe requested a review from a team as a code owner April 13, 2026 16:53

@ScottTodd ScottTodd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Generally LGTM. Let's get ROCm/rocm-systems#4632 landed and pulled in so we can drop the rocm-systems submodule change from this PR before merge

"bin/*oclruntime*",
"lib/*oclgl*",
"lib/*oclperf*",
"lib/*oclruntime*",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I pulled down the artifacts to test this:

D:\projects\TheRock (main -> upstream)
(.venv) λ python build_tools/artifact_manager.py fetch ^
  --run-id=24252731459 ^
  --stage=all ^
  --flatten ^
  --amdgpu-families=gfx110X-all ^
  --output-dir=D:/scratch/therock/24252731459/

Do you want to put oclruntime.dll in bin/ on Windows? That would more closely match other subprojects:

Image Image
>>> paths = list(Path.cwd().glob("bin/*ocl*")) + list(Path.cwd().glob("lib/*ocl*"))
>>> for path in paths:
...   print(path)
...
D:\scratch\therock\24252731459\bin\amdocl64.dll
D:\scratch\therock\24252731459\bin\oclperf.exclude
D:\scratch\therock\24252731459\bin\oclruntime.exclude
D:\scratch\therock\24252731459\bin\ocltst.exe
D:\scratch\therock\24252731459\lib\amdocl64.lib
D:\scratch\therock\24252731459\lib\oclperf.dll
D:\scratch\therock\24252731459\lib\oclperf.lib
D:\scratch\therock\24252731459\lib\oclruntime.dll
D:\scratch\therock\24252731459\lib\oclruntime.lib

I was able to run ocltst with the DLL in lib, just a bit awkward:

λ .\ocltst -m ..\lib\oclruntime.dll -A oclruntime.exclude

Compute Device info:
        Platform Version: OpenCL 2.1 AMD-APP (3652.0)
        Device Name: gfx1100
        Vendor: Advanced Micro Devices, Inc.
        Device Version: OpenCL 2.0 AMD-APP (3652.0)
        Driver Version: 3652.0 (PAL,LC)
        Board Name: AMD Radeon PRO W7900 Dual Slot

-------------------------------------------------
The OpenCL Testing Module oclruntime Version = 0
-------------------------------------------------
OCLCreateContext[  0]            PASSED: GPU[0] T[0] [  0],      0.000
OCLKernelBinary[  0]             PASSED: GPU[0] T[0] [  0],      0.000

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

sure thanks. fixed this in the latest commit of rocm-systems PR.
Listing the contents of ocl_test package.

Linux
image

Windows
image

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

if you approve this, I can merge the rocm-systems and wait for rocm-systems bump for this PR.
Parallelly can work on fixing the ocltst PR to pick these new path changes
#3590

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The code changes LGTM. Need to merge the rocm-systems PR first and pull that in during a regular submodule update. I'm not going to approve until the submodule update is separate from this PR (we're hemorrhaging on submodule updates lately due to infra issues, build failures, and test failures, and I don't want to risk an unscheduled update slipping through without going through the standard process)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

sure thanks. I merged ROCm/rocm-systems#4632 into rocm-systems.
Will drop rocm-systems from this PR and wait for the rocm-systems bump.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@ScottTodd - I had to revert ROCm/rocm-systems#4632 because of missing OpenCL.so dependency with liboclperf.so, liboclruntime.so. Opencl.so dependency is satisfied by ubuntu packages ocl-icd-libopencl1, ocl-icd-opencl-dev. This PR skips checking the ldd for these test libs.

New rocm-systems PR - ROCm/rocm-systems#9804
Once you approve , I need to rebase and drop rocm-systems in this PR.
rocm-systems PR depends on this rock PR. So this needs to go in first.

for the folder structure of test files please see below screenshots

Linux
https://therock-ci-artifacts.s3.amazonaws.com/33570960219-linux/core-ocl_test_generic.tar.zst
image

windows
https://therock-ci-artifacts.s3.amazonaws.com/33570960219-windows/core-ocl_test_generic.tar.zst
image

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

SGTM, will take a look at the new PR.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I see you approved https://github.com/ROCm/rocm-systems/pull/9804/changes. Will drop rocm-systems in this PR and rebase this. So we can merge this next week

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@ScottTodd - I dropped rocm-systems from this PR and its rebased. All required tests have passed.
Can you help approve this PR please.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@agunashe
agunashe requested a review from marbre as a code owner August 11, 2026 18:05
@therock-pr-bot

therock-pr-bot Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ✅ Pass PR does not contain code files — Unit Test auto-passed
🔎 pre-commit ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —
🤖 therock-pr-bot ✅ Pass —

🎉 All checks passed! This PR is ready for review.

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

🙋 Wish to Override Policy?

@therock-pr-bot therock-pr-bot Bot added the Not ready to Review PR has unresolved policy failures — reviews blocked label Aug 11, 2026
@therock-pr-bot

therock-pr-bot Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

🎉 All checks passed! This PR is ready for review.

@agunashe agunashe changed the title Install ocltst files to bin dir Install ocltst files to bin dir and ocltst libs to paths according to OS Aug 11, 2026
@therock-pr-bot therock-pr-bot Bot removed the Not ready to Review PR has unresolved policy failures — reviews blocked label Aug 11, 2026
@agunashe agunashe changed the title Install ocltst files to bin dir and ocltst libs to paths according to OS fix(ocl) - Install ocltst files to bin dir, ocltst libs to paths according to OS Aug 11, 2026
@ScottTodd
ScottTodd self-requested a review October 6, 2026 23:13
@ScottTodd ScottTodd added the ci:test:gfx110x Opt-in to gfx110x tests only (requires build) label Oct 7, 2026
@ScottTodd

Copy link
Copy Markdown
Member

Windows tests on presubmit were switched to opt-in last week with #8710 due to 48h+ runner queues. I added the opt-in label so we can see test results there :/. Could also trigger the test workflow directly.

@ScottTodd ScottTodd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

CI results look complete enough now

@agunashe
agunashe merged commit e2b34ee into main Oct 7, 2026
329 of 338 checks passed
@agunashe
agunashe deleted the users/agunashe/ocltst_path branch October 7, 2026 18:32
agunashe added a commit to ROCm/rocm-systems that referenced this pull request Oct 9, 2026
…libs to lib dir (#9804)

## Motivation
Install ocltst to bin folder for both linux and windows The ocltst
libraries need to be installed to
bin - on windows
lib - on linux

ROCm/TheRock#4192

Install ocltst to bin folder for both linux and windows align to
packaging requirement.

Install ocltst to bin folder for both linux and windows. On windows,
this helps to test the runtime libraries without having to do extra
copies or setup

## Technical Details

Install ocltst to bin folder for both linux and windows The ocltst
libraries need to be installed to
bin - on windows
lib - on linux

same change was merged before -
#4632 but had to be reverted
because of missing Opencl.so issue.
Revert commit -
90792ab
testing this change in Rock -  ROCm/TheRock#4305


## Issue Tracking

<!-- Include a GitHub Issue and/or JIRA ID. Do not post any full JIRA
links here. -->
<!-- GitHub issue: #1234 -->
<!-- JIRA ID: EXAMPLECOMPONENT-1234 -->
ROCm/TheRock#4192

## Test Plan
Rock build passes

testing this change in Rock - ROCm/TheRock#4305

## Test Result
Rock build passes

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
systems-assistant Bot pushed a commit to ROCm/clr that referenced this pull request Oct 9, 2026
 ocl test libs to lib dir (#9804)

## Motivation
Install ocltst to bin folder for both linux and windows The ocltst
libraries need to be installed to
bin - on windows
lib - on linux

ROCm/TheRock#4192

Install ocltst to bin folder for both linux and windows align to
packaging requirement.

Install ocltst to bin folder for both linux and windows. On windows,
this helps to test the runtime libraries without having to do extra
copies or setup

## Technical Details

Install ocltst to bin folder for both linux and windows The ocltst
libraries need to be installed to
bin - on windows
lib - on linux

same change was merged before -
ROCm/rocm-systems#4632 but had to be reverted
because of missing Opencl.so issue.
Revert commit -
ROCm/rocm-systems@90792ab
testing this change in Rock -  ROCm/TheRock#4305

## Issue Tracking

<!-- Include a GitHub Issue and/or JIRA ID. Do not post any full JIRA
links here. -->
<!-- GitHub issue: ROCm/rocm-systems#1234 -->
<!-- JIRA ID: EXAMPLECOMPONENT-1234 -->
ROCm/TheRock#4192

## Test Plan
Rock build passes

testing this change in Rock - ROCm/TheRock#4305

## Test Result
Rock build passes

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md.
[rocm-systems] ROCm/rocm-systems#9804 (commit 7054b96)
anujshuk-amd pushed a commit to ROCm/rocm-systems that referenced this pull request Oct 12, 2026
…libs to lib dir (#9804)

## Motivation
Install ocltst to bin folder for both linux and windows The ocltst
libraries need to be installed to
bin - on windows
lib - on linux

ROCm/TheRock#4192

Install ocltst to bin folder for both linux and windows align to
packaging requirement.

Install ocltst to bin folder for both linux and windows. On windows,
this helps to test the runtime libraries without having to do extra
copies or setup

## Technical Details

Install ocltst to bin folder for both linux and windows The ocltst
libraries need to be installed to
bin - on windows
lib - on linux

same change was merged before -
#4632 but had to be reverted
because of missing Opencl.so issue.
Revert commit -
90792ab
testing this change in Rock -  ROCm/TheRock#4305


## Issue Tracking

<!-- Include a GitHub Issue and/or JIRA ID. Do not post any full JIRA
links here. -->
<!-- GitHub issue: #1234 -->
<!-- JIRA ID: EXAMPLECOMPONENT-1234 -->
ROCm/TheRock#4192

## Test Plan
Rock build passes

testing this change in Rock - ROCm/TheRock#4305

## Test Result
Rock build passes

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:test:gfx110x Opt-in to gfx110x tests only (requires build)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants