Skip to content

Conversation

@MrSidims
Copy link
Contributor

@MrSidims MrSidims commented Feb 7, 2023

It specifies how to interpret 'Component Type' when components of a joint matrix are storages for values of different types, for example float for TF32, unsigned short for bfloat16.

At this point only tf32 type interpretation is added during SPIR-V generation. Adding it to bf16 is a breaking change and
requires adaptation across drivers.

Spec update:
intel/llvm#8175

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

@MrSidims MrSidims closed this Feb 8, 2023
@MrSidims MrSidims reopened this Feb 8, 2023
@MrSidims MrSidims force-pushed the matrix-type-interpret branch from 742d425 to 49726cb Compare February 9, 2023 12:33
@MrSidims
Copy link
Contributor Author

@asudarsa @vmaksimo @jcranmer-intel please take a look

Most of it should be re-written during switch to opaque pointers (see intel/llvm@7707bb0 ), but the switch has several dependencies still, so to unblock BE development I'd prefer to merge it as is and to create opaque pointers adjustments on top of this patch.

@MrSidims
Copy link
Contributor Author

MrSidims commented Feb 16, 2023

Actually, it's a breaking change already. Need to think how to avoid it. So merge together with opaque pointers should be the way to go.

UPD: changing translation for bf16 is already a breaking change. So left only tf32.

@MrSidims MrSidims marked this pull request as draft February 16, 2023 12:26
@MrSidims MrSidims force-pushed the matrix-type-interpret branch from 49726cb to 12c0d47 Compare February 21, 2023 12:28
@MrSidims MrSidims marked this pull request as ready for review February 21, 2023 12:28
It specifies how to interpret 'Component Type' when components
of a joint matrix are storages for values of different types,
for example float for TF32, unsigned short for bfloat16.

Spec update:
intel/llvm#8175

Signed-off-by: Sidorov, Dmitry <[email protected]>
Signed-off-by: Sidorov, Dmitry <[email protected]>
Signed-off-by: Sidorov, Dmitry <[email protected]>
Signed-off-by: Sidorov, Dmitry <[email protected]>
Signed-off-by: Sidorov, Dmitry <[email protected]>
Signed-off-by: Sidorov, Dmitry <[email protected]>
Signed-off-by: Sidorov, Dmitry <[email protected]>
@MrSidims MrSidims force-pushed the matrix-type-interpret branch from 12c0d47 to b730243 Compare February 21, 2023 12:56
Signed-off-by: Sidorov, Dmitry <[email protected]>
@MrSidims
Copy link
Contributor Author

@asudarsa @vmaksimo @jcranmer-intel please take a look

Signed-off-by: Sidorov, Dmitry <[email protected]>
Signed-off-by: Sidorov, Dmitry <[email protected]>
@MrSidims MrSidims requested a review from vmaksimo March 3, 2023 10:49
@MrSidims
Copy link
Contributor Author

MrSidims commented Mar 3, 2023

@asudarsa @vmaksimo friendly reminder to take a look

@MrSidims
Copy link
Contributor Author

MrSidims commented Mar 6, 2023

@asudarsa @vmaksimo please review the patch.

break;
case internal::InternalJointMatrixCTI::PackedInt2:
case internal::InternalJointMatrixCTI::PackedInt4:
// Do nothing just now
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: add "TODO" mark here

@MrSidims MrSidims merged commit b7c5218 into KhronosGroup:main Mar 7, 2023
fda0 pushed a commit to fda0/SPIRV-LLVM-Translator that referenced this pull request May 22, 2025
KhronosGroup#1835)

It specifies how to interpret 'Component Type' when components of a joint matrix are storages for values of different types, for example float for TF32, unsigned short for bfloat16.

At this point only tf32 type interpretation is added during SPIR-V generation. Adding it to bf16 is a breaking change and
requires adaptation across drivers.

Spec update:
intel/llvm#8175

Signed-off-by: Sidorov, Dmitry [email protected]
(cherry picked from commit b7c5218)
bokrzesi added a commit to bokrzesi/SPIRV-LLVM-Translator that referenced this pull request Jun 10, 2025
bokrzesi added a commit to bokrzesi/SPIRV-LLVM-Translator that referenced this pull request Jun 10, 2025
bokrzesi added a commit to bokrzesi/SPIRV-LLVM-Translator that referenced this pull request Oct 20, 2025
Original message:

Add ComponentTypeInterpretation for joint matrix type (KhronosGroup#1835)
It specifies how to interpret 'Component Type' when components of a joint matrix are storages for values of different types, for example float for TF32, unsigned short for bfloat16.

At this point only tf32 type interpretation is added during SPIR-V generation. Adding it to bf16 is a breaking change and
requires adaptation across drivers.

Spec update:
intel/llvm#8175

Signed-off-by: Sidorov, Dmitry [email protected]
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