Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
758566e
artifacts: ocltst files from bin
agunashe Apr 2, 2026
9480530
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
agunashe Apr 2, 2026
8f630da
Install ocltst to bin dir
agunashe Apr 2, 2026
a7acb83
reenable hip-tests build
agunashe Apr 2, 2026
ee44cfd
Apply suggestions from code review
agunashe Apr 2, 2026
74f64e2
move ocltst related files to test package
agunashe Apr 2, 2026
a2b9917
keep the ocltst libs/dlls in ocl_test package
agunashe Apr 3, 2026
6d2ca20
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
agunashe Apr 6, 2026
d3509ff
add ocltst build section for windows
agunashe Apr 6, 2026
086a32c
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
agunashe Apr 7, 2026
6de7fb4
use users/agunashe/ocltst_install 829a626
agunashe Apr 8, 2026
a19b01c
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
Apr 9, 2026
d03d3ec
add ocl-icd to python packages
agunashe Apr 9, 2026
992f789
group the ocltst files together correctly
agunashe Apr 9, 2026
8aa522f
include exclude files in ocltest
agunashe Apr 9, 2026
075d5fe
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
agunashe Apr 9, 2026
ee36f9e
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
agunashe Apr 10, 2026
51b6b95
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
agunashe Apr 10, 2026
338643d
update rocm-systems to pick rebased users/agunashe/ocltst_install
agunashe Apr 10, 2026
2b06a7b
Install ocltst libs to bin folder for windows, lib for linux
agunashe Apr 13, 2026
48cf84e
rebased rocm-systems users/agunashe/ocltst_install
agunashe Apr 13, 2026
f51c59a
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
agunashe Apr 13, 2026
812d961
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
agunashe Apr 14, 2026
501e629
Merge branch 'main' into users/agunashe/ocltst_path
agunashe Apr 15, 2026
44503a9
Merge branch 'main' into users/agunashe/ocltst_path
agunashe Apr 16, 2026
c4937c8
skip checking ldd on specific ocl test libs
agunashe Aug 11, 2026
d7e23f7
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
agunashe Aug 11, 2026
32e1744
build ocltests for linux for now
agunashe Aug 11, 2026
6485c40
fix some formatting issues
agunashe Aug 11, 2026
9879622
fix the duplicate sections in ocl.toml file
agunashe Aug 11, 2026
263877e
Merge branch 'main' into users/agunashe/ocltst_path
agunashe Aug 26, 2026
505c706
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
agunashe Sep 1, 2026
4b2c7d1
add oclgl lib to exception list, add a8b0fac from r-s users/agunashe/…
agunashe Sep 1, 2026
aad601a
build ocltst on windows as well
agunashe Sep 1, 2026
09354d4
Merge remote-tracking branch 'origin/main' into users/agunashe/ocltst…
agunashe Oct 2, 2026
bf38584
Merge branch 'main' into users/agunashe/ocltst_path
agunashe Oct 5, 2026
2a34041
pick share/opencl/** as part of tests to pass Rock
agunashe Oct 6, 2026
e25b8e4
Merge branch 'main' into users/agunashe/ocltst_path
agunashe Oct 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -117,10 +117,16 @@ def testSharedLibrariesLoad(self):
if "libtest_linking_lib" in str(so_path):
# rocprim unit tests, not actual library files
continue
if "opencl" in str(so_path):
# We use OpenCL ICD from distro rather than TheRock
# and we do not build it
if (
"opencl" in str(so_path)
or "oclruntime" in so_path.name
or "oclperf" in so_path.name
or "oclgl" in so_path.name
):
# OpenCL ICD comes from the distro; oclruntime/oclperf are
# test-only libraries that depend on libOpenCL.
continue

with self.subTest(msg="Check shared library loads", so_path=so_path):
# Load each in an isolated process because not all libraries in the tree
# are designed to load into the same process (i.e. LLVM runtime libs,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,9 +171,14 @@ def testSharedLibrariesLoad(self):
if "libtest_linking_lib" in str(so_path):
# rocprim unit tests, not actual library files
continue
if "opencl" in str(so_path):
# We use OpenCL ICD from distro rather than TheRock
# and we do not build it
if (
"opencl" in str(so_path)
or "oclruntime" in so_path.name
or "oclperf" in so_path.name
or "oclgl" in so_path.name
):
# OpenCL ICD comes from the distro; oclruntime/oclperf are
# test-only libraries that depend on libOpenCL.
continue
if so_path.name.endswith(".abi3.so") or ".cpython-" in so_path.name:
# Python C extensions use symbols resolved at import time,
Expand Down
6 changes: 3 additions & 3 deletions core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -490,10 +490,10 @@ if(THEROCK_ENABLE_OCL_RUNTIME)
list(APPEND OCL_CLR_RUNTIME_DEPS
rocprofiler-register
)
list(APPEND OCL_CLR_CMAKE_ARGS
"-DBUILD_TESTS=${THEROCK_BUILD_TESTING}"
)
endif()
list(APPEND OCL_CLR_CMAKE_ARGS
"-DBUILD_TESTS=${THEROCK_BUILD_TESTING}"
)
if(_therock_enable_hsa_runtime)
list(APPEND OCL_CLR_RUNTIME_DEPS
rocminfo # Various things expect to be able to find the rocminfo tools
Expand Down
16 changes: 15 additions & 1 deletion core/artifact-core-ocl.toml
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
# ocl-clr
[components.lib."core/ocl-clr/stage"]
# ocltst libs/dlls belong to ocl_test package
exclude = [
"bin/hsa-runtime64.dll",
"lib/*oclgl*",
"lib/*oclperf*",
"lib/*oclruntime*",
"bin/*oclgl*",
"bin/*oclperf*",
"bin/*oclruntime*",
]
include = [
"etc/**",
]
[components.run."core/ocl-clr/stage"]
include = [
"bin/**",
"bin/clinfo*",
]
exclude = [
"bin/hsa-runtime64.dll",
Expand All @@ -35,4 +42,11 @@ exclude = [
include = [
"tests/**",
"share/opencl/**",
"bin/ocltst*",
"bin/*oclgl*",
"bin/*oclperf*",
"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.

]
Loading