Skip to content
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

Add proposal for Vulkan cooperative matrix #271

Merged
merged 12 commits into from
Aug 21, 2024

Conversation

s-perron
Copy link
Collaborator

@s-perron s-perron commented Jul 4, 2024

This propsal will expose the
VK_KHR_cooperative_matrix
extension in HLSL.

@s-perron s-perron requested review from Keenuts and llvm-beanz July 4, 2024 15:44
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
We add the ability to do loads and stores from groupshared memory. This
involved adding a WorkgroupSpirvPointer type that is used by the Load
and Store functions. We also create a GetGroupSharedAddress function to
get the address.

The other load and store function are refactored to make the layout a
parameter, to move the memory access mask to a template parameter, and
to always have a stride. All memory layouts require an explicit stride,
so even though the stride is optional on the instructions, there is not
case where it can be ommitted.
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Show resolved Hide resolved
Copy link
Collaborator

@llvm-beanz llvm-beanz left a comment

Choose a reason for hiding this comment

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

I'm going to approve this just to be clear that this is fully approved and the direction is awesome.

I know there are some details still being worked out, but the direction of this proposal is fantastic and I'm eager for its inclusion.

Thank you everyone for all the amazing work on this!

@s-perron
Copy link
Collaborator Author

s-perron commented Aug 9, 2024

@jeffbolznv @Keenuts I think I have this done. Let me know if there are any other issues. I'll be on vacation for a week. I'll do any fixups when I return. I hope to merge at that time. I have the implementation done, and ready to be reviewed as soon as this merges.

proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
1. Fixed some typos in the function comments.
2. Change the memoryAccessMask to a uint32_t and renamed to avoid
   undefined behaviour.
3. Removed the reason for defaulting to coherent memory because we no
   longer do that.
@s-perron s-perron requested a review from Keenuts August 21, 2024 14:06
Copy link

@jeffbolznv jeffbolznv left a comment

Choose a reason for hiding this comment

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

LGTM

proposals/0021-vk-coop-matrix.md Outdated Show resolved Hide resolved
Co-authored-by: Nathan Gauër <github@keenuts.net>
@s-perron s-perron merged commit 9c42e27 into microsoft:main Aug 21, 2024
1 check passed
llvm-beanz pushed a commit to llvm-beanz/hlsl-specs that referenced this pull request Feb 9, 2025
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.

4 participants