1spv.coopvecTraining.comp 2// Module Version 10300 3// Generated by (magic number): 8000b 4// Id's are bound by 47 5 6 Capability Shader 7 Capability Float16 8 Capability Int8 9 Capability StorageUniformBufferBlock16 10 Capability StorageBuffer8BitAccess 11 Capability VulkanMemoryModelKHR 12 Capability CooperativeVectorNV 13 Capability CooperativeVectorTrainingNV 14 Extension "SPV_KHR_8bit_storage" 15 Extension "SPV_KHR_vulkan_memory_model" 16 Extension "SPV_NV_cooperative_vector" 17 1: ExtInstImport "GLSL.std.450" 18 MemoryModel Logical VulkanKHR 19 EntryPoint GLCompute 4 "main" 20 ExecutionMode 4 LocalSize 64 1 1 21 Source GLSL 450 22 SourceExtension "GL_EXT_buffer_reference" 23 SourceExtension "GL_EXT_nonuniform_qualifier" 24 SourceExtension "GL_EXT_shader_explicit_arithmetic_types" 25 SourceExtension "GL_KHR_memory_scope_semantics" 26 SourceExtension "GL_NV_cooperative_vector" 27 Name 4 "main" 28 Name 11 "v0" 29 Name 16 "v1" 30 Name 19 "MatrixBuf" 31 MemberName 19(MatrixBuf) 0 "matrixData" 32 Name 21 "matrixBuf" 33 Name 28 "matrixLayout" 34 Name 33 "MatrixBuf2" 35 MemberName 33(MatrixBuf2) 0 "matrixData" 36 Name 35 "matrixBuf2" 37 Decorate 18 ArrayStride 2 38 Decorate 19(MatrixBuf) Block 39 MemberDecorate 19(MatrixBuf) 0 Offset 0 40 Decorate 21(matrixBuf) Binding 0 41 Decorate 21(matrixBuf) DescriptorSet 0 42 Decorate 28(matrixLayout) SpecId 0 43 Decorate 32 ArrayStride 1 44 Decorate 33(MatrixBuf2) Block 45 MemberDecorate 33(MatrixBuf2) 0 Offset 0 46 Decorate 35(matrixBuf2) Binding 0 47 Decorate 35(matrixBuf2) DescriptorSet 0 48 Decorate 46 BuiltIn WorkgroupSize 49 2: TypeVoid 50 3: TypeFunction 2 51 6: TypeFloat 16 52 7: TypeInt 32 0 53 8: 7(int) Constant 8 54 9: TypeCooperativeVectorNV 6(float16_t) 8 55 10: TypePointer Function 9 56 13: 7(int) Constant 5 57 14: TypeCooperativeVectorNV 6(float16_t) 13 58 15: TypePointer Function 14 59 18: TypeRuntimeArray 6(float16_t) 60 19(MatrixBuf): TypeStruct 18 61 20: TypePointer StorageBuffer 19(MatrixBuf) 62 21(matrixBuf): 20(ptr) Variable StorageBuffer 63 22: TypeInt 32 1 64 23: 22(int) Constant 0 65 24: TypePointer StorageBuffer 18 66 26: 7(int) Constant 100 67 27: 7(int) Constant 128 6828(matrixLayout): 22(int) SpecConstant 2 69 31: TypeInt 8 1 70 32: TypeRuntimeArray 31(int8_t) 71 33(MatrixBuf2): TypeStruct 32 72 34: TypePointer StorageBuffer 33(MatrixBuf2) 73 35(matrixBuf2): 34(ptr) Variable StorageBuffer 74 36: TypePointer StorageBuffer 32 75 38: 22(int) Constant 2 76 43: TypeVector 7(int) 3 77 44: 7(int) Constant 64 78 45: 7(int) Constant 1 79 46: 43(ivec3) ConstantComposite 44 45 45 80 4(main): 2 Function None 3 81 5: Label 82 11(v0): 10(ptr) Variable Function 83 16(v1): 15(ptr) Variable Function 84 12: 9 Load 11(v0) 85 17: 14 Load 16(v1) 86 25: 24(ptr) AccessChain 21(matrixBuf) 23 87 CooperativeVectorOuterProductAccumulateNV 25 26 12 17 28(matrixLayout) 23 27 88 29: 9 Load 11(v0) 89 30: 14 Load 16(v1) 90 37: 36(ptr) AccessChain 35(matrixBuf2) 23 91 CooperativeVectorOuterProductAccumulateNV 37 26 29 30 38 23 27 92 39: 9 Load 11(v0) 93 40: 24(ptr) AccessChain 21(matrixBuf) 23 94 CooperativeVectorReduceSumAccumulateNV 40 26 39 95 41: 9 Load 11(v0) 96 42: 36(ptr) AccessChain 35(matrixBuf2) 23 97 CooperativeVectorReduceSumAccumulateNV 42 26 41 98 Return 99 FunctionEnd 100