-
Notifications
You must be signed in to change notification settings - Fork 1k
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
ngen: workaround for PVC SWSB HW bug #2443
base: main
Are you sure you want to change the base?
Conversation
make test |
make test perf-gpu |
make test perf-gpu |
// Handle PVC HW bug with WAR dependencies on send instructions. | ||
PVCWARWA pww; | ||
if (pvcWARWA && !regions[0].empty() && computeSWSB) | ||
pww = analyzePVCWARWA(hw, program, bb, phase, consumeOp, pvcWARWADeps); |
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.
Can we move this if statement into analyzePVCWARWA
to prevent invalid use of that function?
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.
Sure, I can do that.
Closes MFDNN-12992. Introduces a workaround for a PVC HW bug related to SWSB dependencies on send instruction src operands in the presence of heavy double precision usage. This is not an expected use case for oneDNN, but could theoretically occur if another f64-heavy kernel is running in parallel.
The workaround is carefully written to minimize performance impacts, but if performance impacts are still too high, we can enable the WA on an as-needs basis.