KhronosGroup / KhronosGroup/SPIRV-Cross

MSL: Support for SPV_KHR_cooperative_matrix (and SPV_KHR_shader_bfloat16)

Open
#2,478 4 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.