KhronosGroup / KhronosGroup/SPIRV-Cross
MSL: Support for SPV_KHR_cooperative_matrix (and SPV_KHR_shader_bfloat16)
- Dominant language
- GLSL
- Stars
- 2.5k
- Forks
- 713
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 16
Description
Hi,
I opened a few days ago, an equivalent issue at MoltenVK requesting support for these two extensions:
https://github.com/KhronosGroup/MoltenVK/issues/2507
it was mainly motivated by:
1)llama.cpp Vulkan backend using it..
and coop matrix extension being used also in apps like vkpeak it's a good indicator of peak perf(max top/s) achievable on GPUs supporting it..
2)also seems MSL these days should support these two extensions:
2.a)has bfloat intrinsic
2.b)MSL spec has support for simd group matrix functions (section 6.7) which sound like coop mat equivalents..
3)seeing also support added in this project for GLSL backend recently:
https://github.com/KhronosGroup/SPIRV-Cross/commit/c4f82d10da6a24995116f982300a783146a5d3b3
https://github.com/KhronosGroup/SPIRV-Cross/commit/de656c6a565b3bf30cf745f37383af36ff45edb0
which should help someway.. I assume :-)..
as seems, main work of implementing these extension support in MoltenVK is SPIRV-Cross MSL support for this 2 exts.. opening here for visibilty also..
thanks..
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the linked MoltenVK issue #2507 and the two referenced SPIRV-Cross GLSL commits. Investigate how SPIRV-Cross handles SPV_KHR_cooperative_matrix and SPV_KHR_shader_bfloat16 for MSL; done means both extensions are supported in generated MSL.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100