1spv.coopmat2_constructor.comp 2// Module Version 10600 3// Generated by (magic number): 8000b 4// Id's are bound by 156 5 6 Capability Shader 7 Capability Float16 8 Capability Int8 9 Capability StorageUniformBufferBlock16 10 Capability VulkanMemoryModelKHR 11 Capability CooperativeMatrixReductionsNV 12 Capability CooperativeMatrixConversionsNV 13 Capability CooperativeMatrixPerElementOperationsNV 14 Capability CooperativeMatrixKHR 15 Extension "SPV_KHR_cooperative_matrix" 16 Extension "SPV_NV_cooperative_matrix2" 17 1: ExtInstImport "GLSL.std.450" 18 MemoryModel Logical VulkanKHR 19 EntryPoint GLCompute 4 "main" 155 20 ExecutionMode 4 LocalSize 64 1 1 21 Source GLSL 450 22 SourceExtension "GL_EXT_shader_explicit_arithmetic_types" 23 SourceExtension "GL_KHR_cooperative_matrix" 24 SourceExtension "GL_KHR_memory_scope_semantics" 25 SourceExtension "GL_NV_cooperative_matrix2" 26 Name 4 "main" 27 Name 10 "addr(u1;u1;" 28 Name 8 "x" 29 Name 9 "y" 30 Name 13 "foo(" 31 Name 20 "relu(u1;u1;f161;" 32 Name 17 "row" 33 Name 18 "col" 34 Name 19 "x" 35 Name 27 "add(u1;u1;f161;f161;" 36 Name 23 "row" 37 Name 24 "col" 38 Name 25 "x" 39 Name 26 "y" 40 Name 32 "combineSum(f161;f161;" 41 Name 30 "a" 42 Name 31 "b" 43 Name 36 "combineMax(f161;f161;" 44 Name 34 "a" 45 Name 35 "b" 46 Name 64 "A" 47 Name 67 "Acc" 48 Name 73 "B" 49 Name 78 "tr" 50 Name 94 "Acc2x2" 51 Name 105 "Accu32" 52 Name 119 "Accs32" 53 Name 127 "Accf16" 54 Name 137 "Accf32" 55 Name 144 "Dim" 56 Name 147 "mijm1" 57 Name 153 "BufType" 58 MemberName 153(BufType) 0 "x" 59 Name 155 "Buf" 60 Decorate 144(Dim) SpecId 0 61 Decorate 152 ArrayStride 2 62 Decorate 153(BufType) Block 63 MemberDecorate 153(BufType) 0 Offset 0 64 Decorate 155(Buf) Binding 0 65 Decorate 155(Buf) DescriptorSet 0 66 2: TypeVoid 67 3: TypeFunction 2 68 6: TypeInt 32 0 69 7: TypeFunction 6(int) 6(int) 6(int) 70 12: TypeFunction 6(int) 71 15: TypeFloat 16 72 16: TypeFunction 15(float16_t) 6(int) 6(int) 15(float16_t) 73 22: TypeFunction 15(float16_t) 6(int) 6(int) 15(float16_t) 15(float16_t) 74 29: TypeFunction 15(float16_t) 15(float16_t) 15(float16_t) 75 38: 6(int) Constant 64 76 43: 6(int) Constant 124 77 46:15(float16_t) Constant 0 78 59: 6(int) Constant 2 79 60: 6(int) Constant 32 80 61: 6(int) Constant 0 81 62: TypeCooperativeMatrixKHR 15(float16_t) 59 38 60 61 82 63: TypePointer Function 62 83 65: TypeCooperativeMatrixKHR 15(float16_t) 59 38 60 59 84 66: TypePointer Function 65 85 70: 6(int) Constant 1 86 71: TypeCooperativeMatrixKHR 15(float16_t) 59 38 60 70 87 72: TypePointer Function 71 88 76: TypeCooperativeMatrixKHR 15(float16_t) 59 60 38 70 89 77: TypePointer Function 76 90 82: TypeInt 32 1 91 83: 82(int) Constant 1 92 86: 82(int) Constant 2 93 89: 82(int) Constant 3 94 91: 6(int) Constant 16 95 92: TypeCooperativeMatrixKHR 15(float16_t) 59 60 91 59 96 93: TypePointer Function 92 97 96: 82(int) Constant 4 98 101:15(float16_t) Constant 15360 99 103: TypeCooperativeMatrixKHR 6(int) 59 38 60 59 100 104: TypePointer Function 103 101 107: TypeInt 8 0 102 108: TypeCooperativeMatrixKHR 107(int8_t) 59 38 60 61 103 111: TypeInt 8 1 104 112: TypeCooperativeMatrixKHR 111(int8_t) 59 38 60 61 105 117: TypeCooperativeMatrixKHR 82(int) 59 38 60 59 106 118: TypePointer Function 117 107 134: TypeFloat 32 108 135: TypeCooperativeMatrixKHR 134(float) 59 38 60 59 109 136: TypePointer Function 135 110 144(Dim): 6(int) SpecConstant 32 111 145: TypeCooperativeMatrixKHR 134(float) 59 144(Dim) 144(Dim) 59 112 146: TypePointer Function 145 113 148: 134(float) Constant 4286578688 114 149: 145 ConstantComposite 148 115 150: TypeVector 6(int) 3 116 151: 150(ivec3) ConstantComposite 38 70 70 117 152: TypeRuntimeArray 15(float16_t) 118 153(BufType): TypeStruct 152 119 154: TypePointer StorageBuffer 153(BufType) 120 155(Buf): 154(ptr) Variable StorageBuffer 121 4(main): 2 Function None 3 122 5: Label 123 64(A): 63(ptr) Variable Function 124 67(Acc): 66(ptr) Variable Function 125 73(B): 72(ptr) Variable Function 126 78(tr): 77(ptr) Variable Function 127 94(Acc2x2): 93(ptr) Variable Function 128 105(Accu32): 104(ptr) Variable Function 129 119(Accs32): 118(ptr) Variable Function 130 127(Accf16): 66(ptr) Variable Function 131 137(Accf32): 136(ptr) Variable Function 132 147(mijm1): 146(ptr) Variable Function 133 68: 65 Load 67(Acc) 134 69: 62 CooperativeMatrixConvertNV 68 135 Store 64(A) 69 136 74: 65 Load 67(Acc) 137 75: 71 CooperativeMatrixConvertNV 74 138 Store 73(B) 75 139 79: 65 Load 67(Acc) 140 80: 76 CooperativeMatrixTransposeNV 79 141 Store 78(tr) 80 142 81: 65 Load 67(Acc) 143 84: 65 CooperativeMatrixReduceNV 81 1 32(combineSum(f161;f161;) 144 Store 67(Acc) 84 145 85: 65 Load 67(Acc) 146 87: 65 CooperativeMatrixReduceNV 85 2 32(combineSum(f161;f161;) 147 Store 67(Acc) 87 148 88: 65 Load 67(Acc) 149 90: 65 CooperativeMatrixReduceNV 88 3 32(combineSum(f161;f161;) 150 Store 67(Acc) 90 151 95: 65 Load 67(Acc) 152 97: 92 CooperativeMatrixReduceNV 95 4 36(combineMax(f161;f161;) 153 Store 94(Acc2x2) 97 154 98: 65 Load 67(Acc) 155 99: 65 CooperativeMatrixPerElementOpNV 98 20(relu(u1;u1;f161;) 156 Store 67(Acc) 99 157 100: 65 Load 67(Acc) 158 102: 65 CooperativeMatrixPerElementOpNV 100 27(add(u1;u1;f161;f161;) 101 159 Store 67(Acc) 102 160 106: 103 Load 105(Accu32) 161 109: 108 UConvert 106 162 110: 103 Load 105(Accu32) 163 113: 108 UConvert 110 164 114: 112 Bitcast 113 165 115: 103 Load 105(Accu32) 166 116: 62 ConvertUToF 115 167 120: 117 Load 119(Accs32) 168 121: 112 SConvert 120 169 122: 108 Bitcast 121 170 123: 117 Load 119(Accs32) 171 124: 112 SConvert 123 172 125: 117 Load 119(Accs32) 173 126: 62 ConvertSToF 125 174 128: 65 Load 127(Accf16) 175 129: 108 ConvertFToU 128 176 130: 65 Load 127(Accf16) 177 131: 112 ConvertFToS 130 178 132: 65 Load 127(Accf16) 179 133: 62 CooperativeMatrixConvertNV 132 180 138: 135 Load 137(Accf32) 181 139: 108 ConvertFToU 138 182 140: 135 Load 137(Accf32) 183 141: 112 ConvertFToS 140 184 142: 135 Load 137(Accf32) 185 143: 62 FConvert 142 186 Store 147(mijm1) 149 187 Return 188 FunctionEnd 189 10(addr(u1;u1;): 6(int) Function None 7 190 8(x): 6(int) FunctionParameter 191 9(y): 6(int) FunctionParameter 192 11: Label 193 39: 6(int) IMul 9(y) 38 194 40: 6(int) IAdd 39 8(x) 195 ReturnValue 40 196 FunctionEnd 197 13(foo(): 6(int) Function None 12 198 14: Label 199 ReturnValue 43 200 FunctionEnd 20120(relu(u1;u1;f161;):15(float16_t) Function None 16 202 17(row): 6(int) FunctionParameter 203 18(col): 6(int) FunctionParameter 204 19(x):15(float16_t) FunctionParameter 205 21: Label 206 47:15(float16_t) ExtInst 1(GLSL.std.450) 40(FMax) 19(x) 46 207 ReturnValue 47 208 FunctionEnd 20927(add(u1;u1;f161;f161;):15(float16_t) Function None 22 210 23(row): 6(int) FunctionParameter 211 24(col): 6(int) FunctionParameter 212 25(x):15(float16_t) FunctionParameter 213 26(y):15(float16_t) FunctionParameter 214 28: Label 215 50:15(float16_t) FAdd 25(x) 26(y) 216 ReturnValue 50 217 FunctionEnd 21832(combineSum(f161;f161;):15(float16_t) Function None 29 219 30(a):15(float16_t) FunctionParameter 220 31(b):15(float16_t) FunctionParameter 221 33: Label 222 53:15(float16_t) FAdd 30(a) 31(b) 223 ReturnValue 53 224 FunctionEnd 22536(combineMax(f161;f161;):15(float16_t) Function None 29 226 34(a):15(float16_t) FunctionParameter 227 35(b):15(float16_t) FunctionParameter 228 37: Label 229 56:15(float16_t) ExtInst 1(GLSL.std.450) 40(FMax) 34(a) 35(b) 230 ReturnValue 56 231 FunctionEnd 232