spv.coopvecTraining.comp // Module Version 10300 // Generated by (magic number): 8000b // Id's are bound by 47 Capability Shader Capability Float16 Capability Int8 Capability StorageUniformBufferBlock16 Capability StorageBuffer8BitAccess Capability VulkanMemoryModelKHR Capability CooperativeVectorNV Capability CooperativeVectorTrainingNV Extension "SPV_KHR_8bit_storage" Extension "SPV_KHR_vulkan_memory_model" Extension "SPV_NV_cooperative_vector" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical VulkanKHR EntryPoint GLCompute 4 "main" ExecutionMode 4 LocalSize 64 1 1 Source GLSL 450 SourceExtension "GL_EXT_buffer_reference" SourceExtension "GL_EXT_nonuniform_qualifier" SourceExtension "GL_EXT_shader_explicit_arithmetic_types" SourceExtension "GL_KHR_memory_scope_semantics" SourceExtension "GL_NV_cooperative_vector" Name 4 "main" Name 11 "v0" Name 16 "v1" Name 19 "MatrixBuf" MemberName 19(MatrixBuf) 0 "matrixData" Name 21 "matrixBuf" Name 28 "matrixLayout" Name 33 "MatrixBuf2" MemberName 33(MatrixBuf2) 0 "matrixData" Name 35 "matrixBuf2" Decorate 18 ArrayStride 2 Decorate 19(MatrixBuf) Block MemberDecorate 19(MatrixBuf) 0 Offset 0 Decorate 21(matrixBuf) Binding 0 Decorate 21(matrixBuf) DescriptorSet 0 Decorate 28(matrixLayout) SpecId 0 Decorate 32 ArrayStride 1 Decorate 33(MatrixBuf2) Block MemberDecorate 33(MatrixBuf2) 0 Offset 0 Decorate 35(matrixBuf2) Binding 0 Decorate 35(matrixBuf2) DescriptorSet 0 Decorate 46 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 16 7: TypeInt 32 0 8: 7(int) Constant 8 9: TypeCooperativeVectorNV 6(float16_t) 8 10: TypePointer Function 9 13: 7(int) Constant 5 14: TypeCooperativeVectorNV 6(float16_t) 13 15: TypePointer Function 14 18: TypeRuntimeArray 6(float16_t) 19(MatrixBuf): TypeStruct 18 20: TypePointer StorageBuffer 19(MatrixBuf) 21(matrixBuf): 20(ptr) Variable StorageBuffer 22: TypeInt 32 1 23: 22(int) Constant 0 24: TypePointer StorageBuffer 18 26: 7(int) Constant 100 27: 7(int) Constant 128 28(matrixLayout): 22(int) SpecConstant 2 31: TypeInt 8 1 32: TypeRuntimeArray 31(int8_t) 33(MatrixBuf2): TypeStruct 32 34: TypePointer StorageBuffer 33(MatrixBuf2) 35(matrixBuf2): 34(ptr) Variable StorageBuffer 36: TypePointer StorageBuffer 32 38: 22(int) Constant 2 43: TypeVector 7(int) 3 44: 7(int) Constant 64 45: 7(int) Constant 1 46: 43(ivec3) ConstantComposite 44 45 45 4(main): 2 Function None 3 5: Label 11(v0): 10(ptr) Variable Function 16(v1): 15(ptr) Variable Function 12: 9 Load 11(v0) 17: 14 Load 16(v1) 25: 24(ptr) AccessChain 21(matrixBuf) 23 CooperativeVectorOuterProductAccumulateNV 25 26 12 17 28(matrixLayout) 23 27 29: 9 Load 11(v0) 30: 14 Load 16(v1) 37: 36(ptr) AccessChain 35(matrixBuf2) 23 CooperativeVectorOuterProductAccumulateNV 37 26 29 30 38 23 27 39: 9 Load 11(v0) 40: 24(ptr) AccessChain 21(matrixBuf) 23 CooperativeVectorReduceSumAccumulateNV 40 26 39 41: 9 Load 11(v0) 42: 36(ptr) AccessChain 35(matrixBuf2) 23 CooperativeVectorReduceSumAccumulateNV 42 26 41 Return FunctionEnd