| spv.coopmat2_constructor.comp |
| // Module Version 10600 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 156 |
| |
| 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" 155 |
| 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 "tr" |
| Name 94 "Acc2x2" |
| Name 105 "Accu32" |
| Name 119 "Accs32" |
| Name 127 "Accf16" |
| Name 137 "Accf32" |
| Name 144 "Dim" |
| Name 147 "mijm1" |
| Name 153 "BufType" |
| MemberName 153(BufType) 0 "x" |
| Name 155 "Buf" |
| Decorate 144(Dim) SpecId 0 |
| Decorate 152 ArrayStride 2 |
| Decorate 153(BufType) Block |
| MemberDecorate 153(BufType) 0 Offset 0 |
| Decorate 155(Buf) Binding 0 |
| Decorate 155(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 |
| 82: TypeInt 32 1 |
| 83: 82(int) Constant 1 |
| 86: 82(int) Constant 2 |
| 89: 82(int) Constant 3 |
| 91: 6(int) Constant 16 |
| 92: TypeCooperativeMatrixKHR 15(float16_t) 59 60 91 59 |
| 93: TypePointer Function 92 |
| 96: 82(int) Constant 4 |
| 101:15(float16_t) Constant 15360 |
| 103: TypeCooperativeMatrixKHR 6(int) 59 38 60 59 |
| 104: TypePointer Function 103 |
| 107: TypeInt 8 0 |
| 108: TypeCooperativeMatrixKHR 107(int8_t) 59 38 60 61 |
| 111: TypeInt 8 1 |
| 112: TypeCooperativeMatrixKHR 111(int8_t) 59 38 60 61 |
| 117: TypeCooperativeMatrixKHR 82(int) 59 38 60 59 |
| 118: TypePointer Function 117 |
| 134: TypeFloat 32 |
| 135: TypeCooperativeMatrixKHR 134(float) 59 38 60 59 |
| 136: TypePointer Function 135 |
| 144(Dim): 6(int) SpecConstant 32 |
| 145: TypeCooperativeMatrixKHR 134(float) 59 144(Dim) 144(Dim) 59 |
| 146: TypePointer Function 145 |
| 148: 134(float) Constant 4286578688 |
| 149: 145 ConstantComposite 148 |
| 150: TypeVector 6(int) 3 |
| 151: 150(ivec3) ConstantComposite 38 70 70 |
| 152: TypeRuntimeArray 15(float16_t) |
| 153(BufType): TypeStruct 152 |
| 154: TypePointer StorageBuffer 153(BufType) |
| 155(Buf): 154(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(tr): 77(ptr) Variable Function |
| 94(Acc2x2): 93(ptr) Variable Function |
| 105(Accu32): 104(ptr) Variable Function |
| 119(Accs32): 118(ptr) Variable Function |
| 127(Accf16): 66(ptr) Variable Function |
| 137(Accf32): 136(ptr) Variable Function |
| 147(mijm1): 146(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(tr) 80 |
| 81: 65 Load 67(Acc) |
| 84: 65 CooperativeMatrixReduceNV 81 1 32(combineSum(f161;f161;) |
| Store 67(Acc) 84 |
| 85: 65 Load 67(Acc) |
| 87: 65 CooperativeMatrixReduceNV 85 2 32(combineSum(f161;f161;) |
| Store 67(Acc) 87 |
| 88: 65 Load 67(Acc) |
| 90: 65 CooperativeMatrixReduceNV 88 3 32(combineSum(f161;f161;) |
| Store 67(Acc) 90 |
| 95: 65 Load 67(Acc) |
| 97: 92 CooperativeMatrixReduceNV 95 4 36(combineMax(f161;f161;) |
| Store 94(Acc2x2) 97 |
| 98: 65 Load 67(Acc) |
| 99: 65 CooperativeMatrixPerElementOpNV 98 20(relu(u1;u1;f161;) |
| Store 67(Acc) 99 |
| 100: 65 Load 67(Acc) |
| 102: 65 CooperativeMatrixPerElementOpNV 100 27(add(u1;u1;f161;f161;) 101 |
| Store 67(Acc) 102 |
| 106: 103 Load 105(Accu32) |
| 109: 108 UConvert 106 |
| 110: 103 Load 105(Accu32) |
| 113: 108 UConvert 110 |
| 114: 112 Bitcast 113 |
| 115: 103 Load 105(Accu32) |
| 116: 62 ConvertUToF 115 |
| 120: 117 Load 119(Accs32) |
| 121: 112 SConvert 120 |
| 122: 108 Bitcast 121 |
| 123: 117 Load 119(Accs32) |
| 124: 112 SConvert 123 |
| 125: 117 Load 119(Accs32) |
| 126: 62 ConvertSToF 125 |
| 128: 65 Load 127(Accf16) |
| 129: 108 ConvertFToU 128 |
| 130: 65 Load 127(Accf16) |
| 131: 112 ConvertFToS 130 |
| 132: 65 Load 127(Accf16) |
| 133: 62 CooperativeMatrixConvertNV 132 |
| 138: 135 Load 137(Accf32) |
| 139: 108 ConvertFToU 138 |
| 140: 135 Load 137(Accf32) |
| 141: 112 ConvertFToS 140 |
| 142: 135 Load 137(Accf32) |
| 143: 62 FConvert 142 |
| Store 147(mijm1) 149 |
| 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 |