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