Repository navigation
Enable hip-tests on TheRock - #2001
Conversation
|
Do you have any workflow runs that combine the changes from this PR with the code changes from ROCm/rocm-systems#1624 ? |
| # Non-Windows CLR options. | ||
| list(APPEND HIP_TESTS_RUNTIME_DEPS | ||
| hip-clr | ||
| ) |
There was a problem hiding this comment.
Why is this only a runtime dep on Linux? hip-clr is available and used on Windows too
|
Going to change the submodule of rocm-systems to match branch from ROCm/rocm-systems#1624 |
|
Nevermind. Complaining about conflicts in the submodule, but that should be the sequence to test the changes. |
|
I don't see hip-tests build logs, but I do see the "including subproject" portion in the logs. |
Which CI job will have that information? |
Get the build working locally first. I also see the configure completes: https://github.com/ROCm/TheRock/actions/runs/19278473408/job/55124041856#step:10:485 but the new subproject is not built (no longs in either the full build output or https://therock-ci-artifacts.s3.amazonaws.com/19278473408-linux/logs/gfx1151/index.html). I suspect since there are no other subprojects depending on this project and the project does not provide an artifact, building |
Added the artifacts for hip-tests. Hopefully the tests are now built |
| TARGETS USE_DIST_AMDGPU_TARGETS | ||
| DESCRIPTOR artifact-core-hiptests.toml | ||
| COMPONENTS | ||
| run |
There was a problem hiding this comment.
See above, should most likely be test.
There was a problem hiding this comment.
sure thanks. ill make this change.
| redshift_connector==2.1.8 | ||
|
|
||
| # hip-tests | ||
| rpm |
There was a problem hiding this comment.
hip-tests artifacts is packaged into deb, tar, rpm files.
So we need "sudo apt install rpm " on the system to generate the rpm artifact file.
I see linux packages are manually installed in the instructions. Any way to have this rpm package installed ?
or I can skip rpm for now
|
I see hip-tests being built now. |
|
The sequence should now be:
|
we need to verify the test execution of the test binaries. |
If you want to do that within this PR, then take a look at this example #1380 |
|
I'm curious, why is the |
our tests generates some _test.cmake files which caches the test names at runtime. These files are part of catch/ctest framework. <install_path>/share/hip is a read only path. So the sudo was required to ovewrite this issue. Without it the _test.cmake files cannot be created by the catch/ctest framework causing the tests to fail |
|
I think I might have just mid-air collided with you in: 91dc209 Now artifacts have to be declared in BUILD_TOPOLOGY.toml in the root. You should get a CMake error telling you this once you rebase. If you run into problems with this, I can push an update to the branch tomorrow with the necessary changes but should be pretty mechanical (and it will fail on configure if done wrong so should be low cost to fix). |
Thank you for the comment. I added the hip-tests artifact to the BUILD_TOPOLOGY.toml in the root. |
geomin12
left a comment
There was a problem hiding this comment.
looking good, just some cleanup comments
| "hip-tests": { | ||
| "job_name": "hip-tests", | ||
| "fetch_artifact_args": "--tests", | ||
| "timeout_minutes": 120, # it failed for 120 mins, fix it when we address sharding. |
There was a problem hiding this comment.
can remove comment, also we are allotting 300 minutes total for tests.
right now, this runs for 480 minutes, which is pretty long!!! let's do 60 mins with 4 shards (we can adjust based on test results in the CI)
There was a problem hiding this comment.
I have removed the comment and kept the timeout as 120.
after few days of execution, we can trim it down to a smaller number
## Motivation This change enables hip-tests to be built on TheRock. This is the first step in getting hip-tests building/running with TheRock. ## Technical Details Enable hip-tests to be built with TheRock, when user enables testing via flag `THEROCK_BUILD_TESTING`. [hip-tests](https://github.com/ROCm/rocm-systems/tree/develop/projects/hip-tests/catch) are collection of tests that are used to test the hip-runtime. A corresponding PR is also required in hip-tests to make it compatible with TheRock, which are being done [here](ROCm/rocm-systems#1624). Subsequent PRs are required to run the built hip-tests which will follow after this PR. ROCm/rocm-systems#2187 - PR will fix the paths to be consistent across linux and windows. Below issues will be fixed with it https://github.com/ROCm/TheRock/pull/2373/files#r2582804642 ROCm#2373 (comment) ROCm#2001 (comment) ROCm#2001 (comment) ## Test Plan The build should complete end to end without failures, next set of changes will enable the running of tests. ## Test Result NA ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
da80bf4 to
5322e1e
Compare
|
Hi @cjatin - I noticed there's also PR #2706 ("Start running hip-tests on TheRock") which appears to cover similar ground to this PR. Since this PR was updated more recently, I'm assuming this is the active effort. Could you confirm and consider converting #2706 to draft or closing it if it's superseded? That would help reduce confusion for reviewers. Thanks for working on getting hip-tests running in CI - this is valuable testing infrastructure! |
Hey @stellaraccident closed the other one. |
jayhawk-commits
left a comment
There was a problem hiding this comment.
LGTM but this PR has "changes requested" status
Multi-sharding hip-tests can be done in a separate PR.
ScottTodd
left a comment
There was a problem hiding this comment.
Marking as "reviewed", and I "resolved" most of the open conversation threads. In case it gets lost in the noise, this thread is still open and has legitimate concerns about sharding and test suite size for running smoketests: #2001 (comment)
There was a problem hiding this comment.
looks great overall, I added a comment regarding sharding, which will help get this test to a reasonable test time
Another point, I notice that hip-test ci:smoke is lodged into the code, is it possible to enable smoke tests for this test as well? Any filters available for smoke tests?
| "-I", | ||
| f"{index_start},{index_end}", |
There was a problem hiding this comment.
| "-I", | |
| f"{index_start},{index_end}", | |
| # shards the tests by running a specific set of tests based on starting test (shard_index) and stride (total_shards) | |
| "--tests-information", | |
| f"{shard_index},,{total_shards}", |
This will shard the tests properly with TheRock + ctest (this implementation only seems to pick up a specific set of tests)
That way, this will get a reasonable test time
There was a problem hiding this comment.
This check with SHARD_INDEX kind of worked, because of how TheRock scheduled each shard. -j will cause issues.
| cmd = [ | ||
| "ctest", | ||
| "-I", | ||
| f"{index_start},{index_end}", |
There was a problem hiding this comment.
can we also include -j flag (parallelization)? if this is enabled and we get test times down to ~ 20 mins total, we won't need those test filters
There was a problem hiding this comment.
We can not use -j right now with hip-tests. almost all HIP tests run the test on default device which will be device 0. When we run multi threaded tests, multiple tests will enqueue stuff on device 0 which can causes some tests to fail which run timing based checks.
Ideally this should be sorted, but it will take some time.
ScottTodd
left a comment
There was a problem hiding this comment.
LGTM when Geo approves. We can tune the set of tests that run at each stage either in this PR or (fast) follow-ups. This test coverage is important but we need to not let that detail slip.
Replied on Regarding smoke tests, that entry is in rocm-systems repo. |
7e9ba03 to
3077ce8
Compare
geomin12
left a comment
There was a problem hiding this comment.
As discussed with Joseph offline, we should land this PR as hip-tests is quite important to the ROCm org and to get these tests enabled. The 43 mins is not ideal, but I will work on sharding in a follow-up PR
Works here: https://github.com/ROCm/TheRock/actions/runs/20786256084/job/59901495774 (I had to rebase due to main branch mess)
## Motivation Enable hip-tests execution on TheRock linux and windows. Aligns installation path of hip-tests on linux and Windows enables sharding of hip-tests ## Details Enable hip-tests execution on TheRock linux and windows. **This PR fixes -** #1354 **Hip-tests source that gets built/executed as part of this PR** https://github.com/ROCm/rocm-systems/tree/develop/projects/hip-tests/catch **Related PRs to enable build/execution of tests -** #2373 - enables building of tests ROCm/rocm-systems#1624 - prepares rocm-systems to be built with catchlib from upstream , compiler/hip detection, packaging change ROCm/rocm-systems#2187 - aligns installation path for linux and windows **few other script changes to have compatible builds on older build frameworks.** https://github.com/AMD-ROCm-Internal/build-infra/pull/316 https://github.com/AMD-Radeon-Driver/compute-utils/pull/169 https://github.com/AMD-Radeon-Driver/compute-utils/pull/171 hip-tests executed and verified successfully ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests. --------- Co-authored-by: Geo Min <geomin12@amd.com>
|
Any updates or ETA on getting the "smoke" filter configured? We have data now showing that these newly added tests are contributing significantly to long queue times for our Windows gfx1151 test runners: #3050 |
Motivation
Enable hip-tests execution on TheRock linux and windows.
Aligns installation path of hip-tests on linux and Windows
enables sharding of hip-tests
Details
Enable hip-tests execution on TheRock linux and windows.
This PR fixes -
#1354
Hip-tests source that gets built/executed as part of this PR
https://github.com/ROCm/rocm-systems/tree/develop/projects/hip-tests/catch
Related PRs to enable build/execution of tests -
#2373 - enables building of tests
ROCm/rocm-systems#1624 - prepares rocm-systems to be built with catchlib from upstream , compiler/hip detection, packaging change
ROCm/rocm-systems#2187 - aligns installation path for linux and windows
few other script changes to have compatible builds on older build frameworks.
https://github.com/AMD-ROCm-Internal/build-infra/pull/316
https://github.com/AMD-Radeon-Driver/compute-utils/pull/169
https://github.com/AMD-Radeon-Driver/compute-utils/pull/171
hip-tests executed and verified successfully
Submission Checklist