-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ROCm utilities and tests, and CUDA fallbacks #40619
Conversation
please test with cms-sw/cmsdist#8266 |
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40619/33893 ERROR: Build errors found during clang-tidy run.
|
@makortel these are the basic HIP/ROCm utilities I would add, to ease the implementation of the ROCm service and build rules. However, we should settle on the "HIP" vs "ROCm" naming approach... As far as I understand, "ROCm" indicates the backend and the kind of hardware, while "HIP" indicates the API. Which makes sense: for example, one could program ROCm devices using other APIs, like OpenCL or SYCL, or use HIP to program other devices, like NVIDIA GPUs. On the other hand, at the moment we do not plan to use HIP on other hardware than ROCm -- though HIP-over-Level 0 is an interesting idea to avoid SYCL... So far I've used
However, I guess we could also just use "HIP" everywhere (except maybe the tool). What do you think ? |
I guess the code checks do not use the flags from cms-sw/cmsdist#8266 ? |
code-checks with cms.week1.PR_92dfa22c/53.0-3fa13e8f691137f6726f64f123800e88 lets run the code-checks using cms-sw/cmsdist#8266 tool-conf |
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40619/33895
Code check has found code style and quality issues which could be resolved by applying following patch(s)
|
24a4acc
to
a5e25ed
Compare
code-checks with cms.week1.PR_92dfa22c/53.0-3fa13e8f691137f6726f64f123800e88 |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40619/33898
|
Pull request #40619 was updated. can you please check and sign again. |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-1f2297/30252/summary.html The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: Comparison SummarySummary:
|
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
please test with cms-sw/cmsdist#8273 |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-1f2297/30279/summary.html The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: Comparison SummarySummary:
|
+1 |
PR description:
Add basic ROCm functions:
hipCheck()
macro to check if HIP API functions are successful, or raise an exception;cms::rocmtest::requireDevices()
function to check if the system has any ROCm GPUs, or exit successfully.Add tests for these functions and for the corresponding CUDA functions.
Add basic ROCm utilities:
rocmIsEnabled
exits with success if a ROCm device is available ad configured correctlyrocmComputeCapabilities
lists all ROCm devices and their GCN architecture:PR validation:
The new unit tests pass on machines with and without GPUs.