Skip to content

Conversation

khushal1996
Copy link
Member

@khushal1996 khushal1996 commented Mar 27, 2025

This PR adds support for CPUID for AVX-VNNI-INT8 & AVX-VNNI-INT16 ISAs

This resolves #112586

Design

image
image

The changes are made in a way to enable the 2 ISAs when

  1. Avx10.2 is enabled or
  2. CPUID for both ISAs are enabled

This is w.r.t the discussions done in API proposal #112586

Testing

Note1: Emitter unit tests not ran since they are added and verified along with AVX10.2 PR #111209

Note2: Superpmi results are not accurate since we are adding a new CPUID and it leads to a new jiteeversionguid. Even after changing the jiteeversion manually, superpmi run shows errors and failures based on the old mch files which can be ignored.

Run JIT subtree with AVXVNNIINT* enabled / disabled


AVXVNNIINT* Enabled
image

AVXVNNIINT* disabled
image

@khushal1996
Copy link
Member Author

@tannergooding This is first of the 2 PRs needed for AVX VNNI INT* API introduction #112586

@khushal1996 khushal1996 force-pushed the kcm-avxvnniint8-cpuid branch from 141d643 to 98fc970 Compare April 14, 2025 21:40
@khushal1996
Copy link
Member Author

@tannergooding @saucecontrol I have added the CPUID, API surface, JIT handling and template tests here.

@tannergooding tannergooding self-requested a review April 14, 2025 21:44
@tannergooding tannergooding self-assigned this Apr 14, 2025
Copy link
Member

@tannergooding tannergooding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, minus a couple nits on ways to simplify the diffs.

CC. @dotnet/jit-contrib for secondary review

@EgorBo
Copy link
Member

EgorBo commented Jul 1, 2025

@khushal1996 could you please resolve the merge conflict?

@tannergooding
Copy link
Member

Resolved the merge conflicts. I'll get this merged once CI completes

@khushal1996
Copy link
Member Author

Thanks @tannergooding for picking this up. Let me know if you want me to take over if the CI fails.

@khushal1996
Copy link
Member Author

Thanks for helping with the review and fixes @tannergooding

@tannergooding
Copy link
Member

Thanks as well for getting the feature implemented and done @khushal1996. Fixes were just some minor merge conflict fixes from other cleanup/simplifications that had happened

@github-actions github-actions bot locked and limited conversation to collaborators Aug 7, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Runtime.Intrinsics community-contribution Indicates that the PR has been added by a community member linkable-framework Issues associated with delivering a linker friendly framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[API Proposal]: Add AVX-VNNI-INT8 and AVX-VNNI-INT16 API

5 participants