spv.coopmat2_constructor.comp // Module Version 10600 // Generated by (magic number): 8000b // Id's are bound by 166 Capability Shader Capability Float16 Capability Int8 Capability StorageUniformBufferBlock16 Capability VulkanMemoryModelKHR Capability CooperativeMatrixReductionsNV Capability CooperativeMatrixConversionsNV Capability CooperativeMatrixPerElementOperationsNV Capability CooperativeMatrixKHR Extension "SPV_KHR_cooperative_matrix" Extension "SPV_NV_cooperative_matrix2" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical VulkanKHR EntryPoint GLCompute 4 "main" 165 ExecutionMode 4 LocalSize 64 1 1 Source GLSL 450 SourceExtension "GL_EXT_shader_explicit_arithmetic_types" SourceExtension "GL_KHR_cooperative_matrix" SourceExtension "GL_KHR_memory_scope_semantics" SourceExtension "GL_NV_cooperative_matrix2" Name 4 "main" Name 10 "addr(u1;u1;" Name 8 "x" Name 9 "y" Name 13 "foo(" Name 20 "relu(u1;u1;f161;" Name 17 "row" Name 18 "col" Name 19 "x" Name 27 "add(u1;u1;f161;f161;" Name 23 "row" Name 24 "col" Name 25 "x" Name 26 "y" Name 32 "combineSum(f161;f161;" Name 30 "a" Name 31 "b" Name 36 "combineMax(f161;f161;" Name 34 "a" Name 35 "b" Name 64 "A" Name 67 "Acc" Name 73 "B" Name 78 "tempArg" Name 81 "tr" Name 83 "tempArg" Name 89 "tempArg" Name 94 "tempArg" Name 102 "tempArg" Name 106 "Acc2x2" Name 115 "Accu32" Name 129 "Accs32" Name 137 "Accf16" Name 147 "Accf32" Name 154 "Dim" Name 157 "mijm1" Name 163 "BufType" MemberName 163(BufType) 0 "x" Name 165 "Buf" Decorate 154(Dim) SpecId 0 Decorate 162 ArrayStride 2 Decorate 163(BufType) Block MemberDecorate 163(BufType) 0 Offset 0 Decorate 165(Buf) Binding 0 Decorate 165(Buf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 7: TypeFunction 6(int) 6(int) 6(int) 12: TypeFunction 6(int) 15: TypeFloat 16 16: TypeFunction 15(float16_t) 6(int) 6(int) 15(float16_t) 22: TypeFunction 15(float16_t) 6(int) 6(int) 15(float16_t) 15(float16_t) 29: TypeFunction 15(float16_t) 15(float16_t) 15(float16_t) 38: 6(int) Constant 64 43: 6(int) Constant 124 46:15(float16_t) Constant 0 59: 6(int) Constant 2 60: 6(int) Constant 32 61: 6(int) Constant 0 62: TypeCooperativeMatrixKHR 15(float16_t) 59 38 60 61 63: TypePointer Function 62 65: TypeCooperativeMatrixKHR 15(float16_t) 59 38 60 59 66: TypePointer Function 65 70: 6(int) Constant 1 71: TypeCooperativeMatrixKHR 15(float16_t) 59 38 60 70 72: TypePointer Function 71 76: TypeCooperativeMatrixKHR 15(float16_t) 59 60 38 70 77: TypePointer Function 76 85: TypeInt 32 1 86: 85(int) Constant 1 91: 85(int) Constant 2 96: 85(int) Constant 3 99: 6(int) Constant 16 100: TypeCooperativeMatrixKHR 15(float16_t) 59 60 99 59 101: TypePointer Function 100 104: 85(int) Constant 4 111:15(float16_t) Constant 15360 113: TypeCooperativeMatrixKHR 6(int) 59 38 60 59 114: TypePointer Function 113 117: TypeInt 8 0 118: TypeCooperativeMatrixKHR 117(int8_t) 59 38 60 61 121: TypeInt 8 1 122: TypeCooperativeMatrixKHR 121(int8_t) 59 38 60 61 127: TypeCooperativeMatrixKHR 85(int) 59 38 60 59 128: TypePointer Function 127 144: TypeFloat 32 145: TypeCooperativeMatrixKHR 144(float) 59 38 60 59 146: TypePointer Function 145 154(Dim): 6(int) SpecConstant 32 155: TypeCooperativeMatrixKHR 144(float) 59 154(Dim) 154(Dim) 59 156: TypePointer Function 155 158: 144(float) Constant 4286578688 159: 155 ConstantComposite 158 160: TypeVector 6(int) 3 161: 160(ivec3) ConstantComposite 38 70 70 162: TypeRuntimeArray 15(float16_t) 163(BufType): TypeStruct 162 164: TypePointer StorageBuffer 163(BufType) 165(Buf): 164(ptr) Variable StorageBuffer 4(main): 2 Function None 3 5: Label 64(A): 63(ptr) Variable Function 67(Acc): 66(ptr) Variable Function 73(B): 72(ptr) Variable Function 78(tempArg): 77(ptr) Variable Function 81(tr): 77(ptr) Variable Function 83(tempArg): 66(ptr) Variable Function 89(tempArg): 66(ptr) Variable Function 94(tempArg): 66(ptr) Variable Function 102(tempArg): 101(ptr) Variable Function 106(Acc2x2): 101(ptr) Variable Function 115(Accu32): 114(ptr) Variable Function 129(Accs32): 128(ptr) Variable Function 137(Accf16): 66(ptr) Variable Function 147(Accf32): 146(ptr) Variable Function 157(mijm1): 156(ptr) Variable Function 68: 65 Load 67(Acc) 69: 62 CooperativeMatrixConvertNV 68 Store 64(A) 69 74: 65 Load 67(Acc) 75: 71 CooperativeMatrixConvertNV 74 Store 73(B) 75 79: 65 Load 67(Acc) 80: 76 CooperativeMatrixTransposeNV 79 Store 78(tempArg) 80 82: 76 Load 78(tempArg) Store 81(tr) 82 84: 65 Load 67(Acc) 87: 65 CooperativeMatrixReduceNV 84 1 32(combineSum(f161;f161;) Store 83(tempArg) 87 88: 65 Load 83(tempArg) Store 67(Acc) 88 90: 65 Load 67(Acc) 92: 65 CooperativeMatrixReduceNV 90 2 32(combineSum(f161;f161;) Store 89(tempArg) 92 93: 65 Load 89(tempArg) Store 67(Acc) 93 95: 65 Load 67(Acc) 97: 65 CooperativeMatrixReduceNV 95 3 32(combineSum(f161;f161;) Store 94(tempArg) 97 98: 65 Load 94(tempArg) Store 67(Acc) 98 103: 65 Load 67(Acc) 105: 100 CooperativeMatrixReduceNV 103 4 36(combineMax(f161;f161;) Store 102(tempArg) 105 107: 100 Load 102(tempArg) Store 106(Acc2x2) 107 108: 65 Load 67(Acc) 109: 65 CooperativeMatrixPerElementOpNV 108 20(relu(u1;u1;f161;) Store 67(Acc) 109 110: 65 Load 67(Acc) 112: 65 CooperativeMatrixPerElementOpNV 110 27(add(u1;u1;f161;f161;) 111 Store 67(Acc) 112 116: 113 Load 115(Accu32) 119: 118 UConvert 116 120: 113 Load 115(Accu32) 123: 118 UConvert 120 124: 122 Bitcast 123 125: 113 Load 115(Accu32) 126: 62 ConvertUToF 125 130: 127 Load 129(Accs32) 131: 122 SConvert 130 132: 118 Bitcast 131 133: 127 Load 129(Accs32) 134: 122 SConvert 133 135: 127 Load 129(Accs32) 136: 62 ConvertSToF 135 138: 65 Load 137(Accf16) 139: 118 ConvertFToU 138 140: 65 Load 137(Accf16) 141: 122 ConvertFToS 140 142: 65 Load 137(Accf16) 143: 62 CooperativeMatrixConvertNV 142 148: 145 Load 147(Accf32) 149: 118 ConvertFToU 148 150: 145 Load 147(Accf32) 151: 122 ConvertFToS 150 152: 145 Load 147(Accf32) 153: 62 FConvert 152 Store 157(mijm1) 159 Return FunctionEnd 10(addr(u1;u1;): 6(int) Function None 7 8(x): 6(int) FunctionParameter 9(y): 6(int) FunctionParameter 11: Label 39: 6(int) IMul 9(y) 38 40: 6(int) IAdd 39 8(x) ReturnValue 40 FunctionEnd 13(foo(): 6(int) Function None 12 14: Label ReturnValue 43 FunctionEnd 20(relu(u1;u1;f161;):15(float16_t) Function None 16 17(row): 6(int) FunctionParameter 18(col): 6(int) FunctionParameter 19(x):15(float16_t) FunctionParameter 21: Label 47:15(float16_t) ExtInst 1(GLSL.std.450) 40(FMax) 19(x) 46 ReturnValue 47 FunctionEnd 27(add(u1;u1;f161;f161;):15(float16_t) Function None 22 23(row): 6(int) FunctionParameter 24(col): 6(int) FunctionParameter 25(x):15(float16_t) FunctionParameter 26(y):15(float16_t) FunctionParameter 28: Label 50:15(float16_t) FAdd 25(x) 26(y) ReturnValue 50 FunctionEnd 32(combineSum(f161;f161;):15(float16_t) Function None 29 30(a):15(float16_t) FunctionParameter 31(b):15(float16_t) FunctionParameter 33: Label 53:15(float16_t) FAdd 30(a) 31(b) ReturnValue 53 FunctionEnd 36(combineMax(f161;f161;):15(float16_t) Function None 29 34(a):15(float16_t) FunctionParameter 35(b):15(float16_t) FunctionParameter 37: Label 56:15(float16_t) ExtInst 1(GLSL.std.450) 40(FMax) 34(a) 35(b) ReturnValue 56 FunctionEnd