-
Notifications
You must be signed in to change notification settings - Fork 237
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
[HIP][COMGR] Use COMGR by default for HIP backend #1253
Conversation
atamazov
commented
Oct 29, 2021
•
edited
Loading
edited
- Enable COMGR by default for HIP backend, except NOGPU mode (for Tuna)
- [Jenkinsfile] Exchange COMGR stages with NOCOMGR stages. Remove W/A for SWDEV-290754 (fixed in 4.3)
- WORKAROUND_ISSUE_1257 disable COMGR build for gfx90a, FP16 for [gfx90a][COMGR][Fp16][Bf16] Verification errors of ImplicitGemm kernels (no errors with hip-clang) #1257
- Some tidy fixes for COMGR path.
…PU mode (for Tuna)
…ages (to smoke test offline builds). Removed W/A for SWDEV-290754 (fixed in 4.3)
This comment has been minimized.
This comment has been minimized.
# RESOLVED Conflicts: # Jenkinsfile
This reverts commit ac70214.
Passed all CI checks and ready for review. |
Gentle ping for @pfultz2 @JehandadKhan and @jerryyin for review. |
Oh no, the above is not possible because they build dockers somewhere else IIRC... |
It seems like the only option is disable the failing tests for (gfx90a && comgr), dynamically. |
@atamazov Staging tests do not include gfx90a unless we ask explicitly. We can explicitly ask them to disable the failing tests for (gfx90a && comgr). |
set_var_to_condition(MIOPEN_USE_COMGR_DEFAULT (NOT DEFINED MIOPEN_BACKEND_OPENCL) AND (NOT DEFINED MIOPEN_MODE_NOGPU)) | ||
option(MIOPEN_USE_COMGR "Use comgr to build kernels instead of offline tools" ${MIOPEN_USE_COMGR_DEFAULT}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚓
). Add regression test for issue-internal #4 (#1273) Resolves (hides symptoms of) https://github.com/ROCmSoftwarePlatform/MIOpen-internal/issues/4 and #1257. - Reverted #1253 - Kept some useful stuff for CMake + tidy fixes for 4.5 - Added regression test for https://github.com/ROCmSoftwarePlatform/MIOpen-internal/issues/4 [Informative] Actual problem is that kernels built via COMGR may have correctness problems (we know some cases for gfx90a).
// WORKAROUND_SWDEV_290754 | ||
// It seems like this W/A is not required since 4.5. | ||
def build_cmd = conf.get("build_cmd", "LLVM_PATH=/opt/rocm/llvm ${build_envs} dumb-init make -j\$(nproc) ${config_targets}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚓
if(${ARGN}) | ||
set(${var} TRUE) | ||
else() | ||
set(${name} FALSE) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is wrong, ${var}
should be used here. No problem so far because unset var is evaluated to FALSE in conditionals, and we do not use set_var_to_condition
to change values of variables. To be fixed soon.