-
Notifications
You must be signed in to change notification settings - Fork 88
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 flag to accept non-uniform WG sizes #2167
Conversation
This build is OK for merge ✅ |
🔴torchvision-inceptionv3_1: FAILED: MIGraphX is not within tolerance - check verbose output🔴slim-inceptionv4_1: FAILED: MIGraphX is not within tolerance - check verbose output🔴bert_base_cased_fp16: FAILED: MIGraphX is not within tolerance - check verbose output🔴bert_large_uncased_fp16: FAILED: MIGraphX is not within tolerance - check verbose output🔴distilgpt2_fp16: FAILED: MIGraphX is not within tolerance - check verbose output |
653d091
to
a64ee16
Compare
Codecov Report
@@ Coverage Diff @@
## develop #2167 +/- ##
========================================
Coverage 91.36% 91.36%
========================================
Files 439 439
Lines 16493 16493
========================================
Hits 15069 15069
Misses 1424 1424 |
if(options.global % options.local != 0 and hip_accept_non_uniform_wg()) | ||
options.params += " -fno-offload-uniform-block"; | ||
else | ||
assert(options.global % options.local == 0); |
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 will throw an assert on older rocm that doesnt support the flag. If the flag is not supported than most likely non-uniform blocks is supported by default. I think we can remove this assert.
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 flag is not supported then it would have calculated the global WG multiple of local WG. It would work with older rocms as well.
#1976
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 the flag is not supported than most likely non-uniform blocks is supported by default
That isn't the case with 5.7. Neither the Flag nor non-uniform blocks are supported.
@umangyadav Do we have a verify test that uses the non-uniform blocks? |
yes |
@umangyadav Is seems like you have some code that checks if compiler supports some option at runtime. FYI this is how we use check_cxx_compiler_flag() to check the same at build time: ROCm/MIOpen#2741 |
we want to check at runtime that's why it is done that way. OTherwise we can also use |
fixes #1986
Depends on #2168
Relevant issues:
ROCm/MIOpen#2307
ROCm/composable_kernel#838