Repository navigation
Adding kfdtest to The Rock CI. - #5377
Conversation
351352c to
13df289
Compare
|
@copilot resolve the merge conflicts in this pull request |
Merge conflicts resolved in commit The two conflicts were:
|
af4c61c to
33d729e
Compare
|
|
||
| # Run on node 7 only to avoid flaky SDMA queue tests on other nodes | ||
| # Node 7 has shown consistent test success in CI | ||
| cmd.extend(["-n", "7"]) |
There was a problem hiding this comment.
We should not hardcode this. Flaky SDMA queue tests are symptom of other underlying issues that need to be resolved.
There was a problem hiding this comment.
Greetings @saadrahim
Thank for the comment. This was just an attempt to see it would succeed here. Is there a way to get a node exclusively for kfdtest? Is does not play well with sharing the GPU, it has to have the node for itself . As for how long it would take to run this full test, it averages to about 20 minutes.
There was a problem hiding this comment.
I believe you should consider it a requirement to make the tests work on a shared GPU. What feature does the test exercise that all GPUs are impacted? Can you separate the ones that cannot share GPUs because they test a feature that impacts all GPUs.
There was a problem hiding this comment.
@kentrussell could articulate better on this.
But it is not that it need all of the GPU nodes, it just needs 1 in the set, and it need to have all by itself or it may crash. FTR it does run on all the GPU node available, if it is not controlled with a '-n', and this usually will be green if there is no other process sharing that specific node. Since it looks like you have 8+ nodes on this ASIC , just show me how I can lock 1 exclusively for kfdtest and then I would release it when the test is complete.
There was a problem hiding this comment.
While kfdtest can benefit from running on all GPUs, there is a lot of redundancy. The majority of subtests are testing the thunk+kernel interface, and it's not designed to be a HW validation tool like agfhc. Yes certain GPUs could throw failures in certain cases where previous ones did not, but it's rare. For TheRock CI, a single GPU is sufficient, since that covers the interfaces well enough, and speeds up the test by 7x
The big issue is that a number of subtests don't play well with others. Allocating all VRAM (or more), triggering faults, triggering GPU resets, etc. These all conflict with running other tests simultaneously
There was a problem hiding this comment.
kfdtest is designed to test the driver. TheRock CI does not gate the driver releases. Therefore, updating the driver may break TheRock builds if a failure is introduced in the driver and is caught in TheRock CI through kfdtests. From a testability perspective, I do not support its enablement in TheRock. I think you need to consult with leadership on the CI side. Fixing a defect in the driver has no associated source code in TheRock as well.
@amd-aakash @suchitravemuri1 @ScottTodd @marbre
We also cannot publish kfdtests as a component versioned with ROCm, it needs to be versioned with the AMD GPU driver.
|
PLATFORM_MAP is defined but never referenced (the comment says detection is automatic) — dead code. |
geomin12
left a comment
There was a problem hiding this comment.
please provide better PR description
a1002e8 to
f34793d
Compare
There was a problem hiding this comment.
kfdtest is an internal amdgpu driver test. Its not testing user space ROCm. It need not be part of TheRock/ROCm ci. Or I would suggest to make it as 2 part change. bringing the kfdtest artifact to ROCm as first step and adding to TheRock ci be a different PR which need more consideration.
@saadrahim @amd-aakash could you clarify?
Yes, adding it as a build artifact is the best approach. There is no need to add to CI for testing. kfdtests is only being built for historic purposes and should be removed in the future. |
@andmar-amd do you want to remove build_tools/github_actions/test_executable_scripts/test_kfdtest.py based on this? |
f34793d to
0682781
Compare
❌ PR Check — Action Required
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
|
Greetings @nunnikri @saadrahim Yes I have completely remove the build_tools/github_actions/test_executable_scripts/test_kfdtest.py and other references to testing. As you can see AI review is now failing for missing unit test. |
- Add kfdtest subproject with correct dependencies (statically links libhsakmt and LLVM) - Add --kfdtest flag to install_rocm_from_artifacts.py - Add kfdtest to BUILD_TOPOLOGY.toml (artifact group, build stage, and artifact) - Add sysdeps to kfdtest artifact dependencies for bundled libraries - Use get_target_property to dynamically locate ROCR-Runtime binary directory - Set RPATH to lib/rocm_sysdeps/lib only (kfdtest statically links main deps) JIRA ID: AILIKFD-40 Co-Authored-By: Claude Sonnet 4.5 Signed-off-by: Andrew Martin <andrew.martin@amd.com>
0682781 to
7eb2380
Compare
saadrahim
left a comment
There was a problem hiding this comment.
This is needed temporarily until we find a new home for kfdtests.
nunnikri
left a comment
There was a problem hiding this comment.
Discussed with @saadrahim. BU is good to release kfdtest as it is. So approving.
|
Latest ASAN builds are failing on main due to kfdtest, I will revert this commit. |
This doesn't look like it would be as an specific and I would expect that it would impact the non asan builds too. It will need cmake plumbing changes to detect the proper in tree dependencies for those two deps. |
Add kfdtest to TheRock CI
Motivation
Technical Details
Test Plan
Test Result
Submission Checklist