-
Notifications
You must be signed in to change notification settings - Fork 31
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
Make VNNI more robust #1001
Make VNNI more robust #1001
Conversation
No performance regression. |
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.
Let's make sure we resolve all comments, but LGTM. Thanks!
The API has been improved as suggested. Well, we'll still see in practice if it's good but already works better after this cleanup. I will follow up with further cleanup to reenable integration tests. That might require more relaxed verification and probably improvements to some test cases. But let's do it separately to weigh tradeoffs properly. Otherwise, should be fine. |
Improves VNNI validation and lit tests to be target independent w.r.t. VNNI blocking factor.
VNNI infrastructure is extended with DLTI support that allows to override target's default VNNI factor.
This allows to fix VNNI shape for lit testing to ensure that general pass logic works fine. This is primarily applied to tests that use prepacked VNNI shapes.
When possible, tests' checks are generalized to account for varying packing factor.
Test shapes are adjusted to prevent failure due to incompatible VNNI packing sizes compared to dimension size used for verification.
BF16 integration tests are now disabled on non-x86 systems to avoid runtime mismatch between prepacked shapes and microkernel requirements.