Skip to content

Add JointMatrixGetElementCoordINTEL instruction #1834

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

Merged
merged 2 commits into from
Feb 21, 2023

Conversation

MrSidims
Copy link
Contributor

@MrSidims MrSidims commented Feb 7, 2023

The instruction returns (Row, Column) coordinate of dynamically selected element of a matrix

Updated version of the spec is here
intel/llvm#8175

Instruction correctness checks will be added later among non-backward compatible changes.

Signed-off-by: Sidorov, Dmitry [email protected]

@MrSidims MrSidims closed this Feb 8, 2023
@MrSidims MrSidims reopened this Feb 8, 2023
The instruction returns (Row, Column) coordinate of dynamically selected
element of a matrix

Updated version of the spec is here
intel/llvm#8175

Instruction correctness checks will be added later among
non-backward compatible changes.

Signed-off-by: Sidorov, Dmitry <[email protected]>
@MrSidims
Copy link
Contributor Author

@asudarsa @vmaksimo please take a look

@@ -3324,9 +3324,24 @@ class SPIRVJointMatrixINTELInst : public SPIRVJointMatrixINTELInstBase {
_SPIRV_OP(JointMatrixLoad, true, 6, true)
_SPIRV_OP(JointMatrixStore, false, 5, true)
_SPIRV_OP(JointMatrixMad, true, 7)
// TODO: move to SPIRVJointMatrixINTELWorkItemInst
Copy link
Contributor

Choose a reason for hiding this comment

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

Why can't we move this right away in this PR? To preserve backward compatibility by not requiring support of JointMatrixWIInstructions capability for now?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Usage of OpJointMatrixWorkItemLength will currently emit just CapabilityJointMatrixINTEL. Which is supported in our downstream. Given the fact, that it's SYCL's counterpart is already implemented and used in tests and user code making the SPIR-V instruction be bound with CapabilityJointMatrixWIInstructionsINTEL would make these tests/user code not working, since this capability is not yet introduced in our downstream.

With this patch I'm introducing it, and then, when our drivers adopt it - the TODO can be resolved.

@MrSidims MrSidims requested a review from vmaksimo February 20, 2023 14:00
Copy link
Contributor

@vmaksimo vmaksimo left a comment

Choose a reason for hiding this comment

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

I guess we can proceed with the specification inconsistency if it'd be addressed soon, and if there is no other simple way to introduce backward-incompatible changes.

@MrSidims MrSidims merged commit dd8b217 into KhronosGroup:main Feb 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants