spv.coopmat.comp // Module Version 10300 // Generated by (magic number): 8000b // Id's are bound by 224 Capability Shader Capability Float16 Capability StorageUniformBufferBlock16 Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT Capability CooperativeMatrixNV Extension "SPV_KHR_physical_storage_buffer" Extension "SPV_KHR_vulkan_memory_model" Extension "SPV_NV_cooperative_matrix" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT VulkanKHR EntryPoint GLCompute 4 "main" ExecutionMode 4 LocalSize 64 1 1 Source GLSL 450 SourceExtension "GL_EXT_buffer_reference" SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16" SourceExtension "GL_KHR_memory_scope_semantics" SourceExtension "GL_NV_cooperative_matrix" Name 4 "main" Name 14 "f16(f161<16><3><8><8>;" Name 13 "m" Name 21 "f32(f1<32><3><8><8>;" Name 20 "m" Name 34 "m" Name 52 "m2" Name 56 "x" Name 67 "Block" MemberName 67(Block) 0 "y" MemberName 67(Block) 1 "x" Name 69 "block" Name 86 "Block16" MemberName 86(Block16) 0 "arr" MemberName 86(Block16) 1 "y" MemberName 86(Block16) 2 "x" MemberName 86(Block16) 3 "b" Name 89 "Block" MemberName 89(Block) 0 "y" MemberName 89(Block) 1 "x" Name 91 "block16" Name 109 "D" Name 110 "A" Name 112 "B" Name 114 "C" Name 118 "l" Name 122 "Y" Name 123 "Z" Name 126 "F" Name 131 "a" Name 134 "md1" Name 145 "mC2" Name 158 "p1" Name 159 "param" Name 162 "p2" Name 163 "param" Name 177 "ms" Name 182 "shmatrix" Name 197 "mC" Name 202 "arr" Name 207 "arr2" Name 208 "F" Name 213 "S" MemberName 213(S) 0 "a" MemberName 213(S) 1 "b" MemberName 213(S) 2 "c" Name 218 "SC" Name 223 "scm" Decorate 65 ArrayStride 4 Decorate 66 ArrayStride 4 Decorate 67(Block) Block MemberDecorate 67(Block) 0 Offset 0 MemberDecorate 67(Block) 1 Offset 4194304 Decorate 69(block) Binding 0 Decorate 69(block) DescriptorSet 0 Decorate 80 ArrayStride 2 Decorate 81 ArrayStride 512 Decorate 82 ArrayStride 2 Decorate 84 ArrayStride 2 Decorate 86(Block16) Block MemberDecorate 86(Block16) 0 Offset 0 MemberDecorate 86(Block16) 1 Offset 131072 MemberDecorate 86(Block16) 2 Offset 2228224 MemberDecorate 86(Block16) 3 Offset 2228232 Decorate 87 ArrayStride 4 Decorate 88 ArrayStride 4 Decorate 89(Block) Block MemberDecorate 89(Block) 0 Offset 0 MemberDecorate 89(Block) 1 Offset 4194304 Decorate 91(block16) Binding 0 Decorate 91(block16) DescriptorSet 0 Decorate 122(Y) SpecId 0 Decorate 196 BuiltIn WorkgroupSize Decorate 208(F) SpecId 1 Decorate 218(SC) SpecId 2 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 16 7: TypeInt 32 0 8: 7(int) Constant 3 9: 7(int) Constant 8 10: TypeCooperativeMatrixNV 6(float16_t) 8 9 9 11: TypePointer Function 10 12: TypeFunction 10 11(ptr) 16: TypeFloat 32 17: TypeCooperativeMatrixNV 16(float) 8 9 9 18: TypePointer Function 17 19: TypeFunction 17 18(ptr) 31: 7(int) Constant 16 32: TypeCooperativeMatrixNV 16(float) 8 31 9 33: TypePointer Function 32 35: 16(float) Constant 0 36: 32 ConstantComposite 35 45: 16(float) Constant 1073741824 50: TypeCooperativeMatrixNV 6(float16_t) 8 31 9 51: TypePointer Function 50 55: TypePointer Function 16(float) 57: TypeInt 32 1 58: 57(int) Constant 1 61: 57(int) Constant 0 64: 7(int) Constant 1048576 65: TypeArray 16(float) 64 66: TypeRuntimeArray 16(float) 67(Block): TypeStruct 65 66 68: TypePointer StorageBuffer 67(Block) 69(block): 68(ptr) Variable StorageBuffer 70: 7(int) Constant 5 71: TypePointer StorageBuffer 16(float) 73: 7(int) Constant 128 74: TypeBool 75: 74(bool) ConstantFalse 79: 7(int) Constant 256 80: TypeArray 6(float16_t) 79 81: TypeArray 80 79 82: TypeArray 6(float16_t) 64 83: 7(int) Constant 1 84: TypeArray 6(float16_t) 83 TypeForwardPointer 85 PhysicalStorageBufferEXT 86(Block16): TypeStruct 81 82 84 85 87: TypeArray 16(float) 64 88: TypeRuntimeArray 16(float) 89(Block): TypeStruct 87 88 85: TypePointer PhysicalStorageBufferEXT 89(Block) 90: TypePointer StorageBuffer 86(Block16) 91(block16): 90(ptr) Variable StorageBuffer 92: 57(int) Constant 2 93: TypePointer StorageBuffer 6(float16_t) 98: 57(int) Constant 3 99: TypePointer StorageBuffer 85(ptr) 102: TypePointer PhysicalStorageBufferEXT 16(float) 117: TypePointer Function 57(int) 119: 7(int) SpecConstantOp 5362 32 120: 57(int) SpecConstantOp 128 119 61 121: 57(int) Constant 8 122(Y): 57(int) SpecConstant 2 123(Z): 57(int) SpecConstantOp 132 121 122(Y) 124: TypeCooperativeMatrixNV 6(float16_t) 8 123(Z) 123(Z) 125: TypePointer Function 124 127:6(float16_t) Constant 0 128: 124 ConstantComposite 127 129: TypeArray 32 70 130: TypePointer Function 129 132: 16(float) Constant 1065353216 138: 57(int) Constant 1234 142: TypeCooperativeMatrixNV 6(float16_t) 8 123(Z) 9 143: TypeArray 142 8 144: TypePointer Private 143 145(mC2): 144(ptr) Variable Private 146: TypePointer Private 142 166: 10 ConstantComposite 127 167: 17 ConstantComposite 35 171:6(float16_t) Constant 16384 174: 16(float) Constant 1082130432 178: TypeVector 7(int) 4 179: 7(int) Constant 32 180: TypeArray 178(ivec4) 179 181: TypePointer Workgroup 180 182(shmatrix): 181(ptr) Variable Workgroup 183: 7(int) Constant 2 184: TypePointer Workgroup 178(ivec4) 192: 57(int) Constant 16 194: TypeVector 7(int) 3 195: 7(int) Constant 64 196: 194(ivec3) ConstantComposite 195 83 83 197(mC): 146(ptr) Variable Private 198: 7(int) SpecConstantOp 5362 142 199: 57(int) SpecConstantOp 128 198 61 200: TypeArray 57(int) 199 201: TypePointer Private 200 202(arr): 201(ptr) Variable Private 203: 7(int) SpecConstantOp 5362 142 204: 57(int) SpecConstantOp 128 203 61 205: TypeArray 57(int) 204 206: TypePointer Private 205 207(arr2): 206(ptr) Variable Private 208(F): 16(float) SpecConstant 1077936128 209: TypeCooperativeMatrixNV 16(float) 8 123(Z) 9 210: 209 ConstantComposite 35 211:6(float16_t) Constant 15360 212: 10 ConstantComposite 211 213(S): TypeStruct 57(int) 57(int) 57(int) 214: 57(int) Constant 12 215: 57(int) Constant 23 216: 57(int) Constant 34 217: 213(S) ConstantComposite 214 215 216 218(SC): 57(int) SpecConstant 1 219: TypeCooperativeMatrixNV 6(float16_t) 8 218(SC) 218(SC) 220: TypeArray 219 218(SC) 221: TypeArray 220 218(SC) 222: TypePointer Private 221 223(scm): 222(ptr) Variable Private 4(main): 2 Function None 3 5: Label 34(m): 33(ptr) Variable Function 52(m2): 51(ptr) Variable Function 56(x): 55(ptr) Variable Function 109(D): 33(ptr) Variable Function 110(A): 51(ptr) Variable Function 112(B): 11(ptr) Variable Function 114(C): 33(ptr) Variable Function 118(l): 117(ptr) Variable Function 126(F): 125(ptr) Variable Function 131(a): 130(ptr) Variable Function 134(md1): 55(ptr) Variable Function 158(p1): 11(ptr) Variable Function 159(param): 11(ptr) Variable Function 162(p2): 18(ptr) Variable Function 163(param): 18(ptr) Variable Function 177(ms): 51(ptr) Variable Function Store 34(m) 36 37: 32 Load 34(m) 38: 32 Load 34(m) 39: 32 FAdd 37 38 Store 34(m) 39 40: 32 Load 34(m) 41: 32 Load 34(m) 42: 32 FSub 40 41 Store 34(m) 42 43: 32 Load 34(m) 44: 32 FNegate 43 Store 34(m) 44 46: 32 Load 34(m) 47: 32 MatrixTimesScalar 46 45 Store 34(m) 47 48: 32 Load 34(m) 49: 32 MatrixTimesScalar 48 45 Store 34(m) 49 53: 32 Load 34(m) 54: 50 FConvert 53 Store 52(m2) 54 59: 55(ptr) AccessChain 34(m) 58 60: 16(float) Load 59 Store 56(x) 60 62: 16(float) Load 56(x) 63: 55(ptr) AccessChain 34(m) 61 Store 63 62 72: 71(ptr) AccessChain 69(block) 58 31 76: 32 CooperativeMatrixLoadNV 72 73 75 MakePointerVisibleKHR NonPrivatePointerKHR 70 Store 34(m) 76 77: 32 Load 34(m) 78: 71(ptr) AccessChain 69(block) 58 31 CooperativeMatrixStoreNV 78 77 73 75 MakePointerAvailableKHR NonPrivatePointerKHR 70 94: 93(ptr) AccessChain 91(block16) 92 31 95: 50 CooperativeMatrixLoadNV 94 73 75 MakePointerVisibleKHR NonPrivatePointerKHR 70 Store 52(m2) 95 96: 50 Load 52(m2) 97: 93(ptr) AccessChain 91(block16) 92 31 CooperativeMatrixStoreNV 97 96 73 75 MakePointerAvailableKHR NonPrivatePointerKHR 70 100: 99(ptr) AccessChain 91(block16) 98 101: 85(ptr) Load 100 MakePointerVisibleKHR NonPrivatePointerKHR 70 103: 102(ptr) AccessChain 101 58 31 104: 32 CooperativeMatrixLoadNV 103 73 75 Aligned MakePointerVisibleKHR NonPrivatePointerKHR 16 70 Store 34(m) 104 105: 32 Load 34(m) 106: 99(ptr) AccessChain 91(block16) 98 107: 85(ptr) Load 106 MakePointerVisibleKHR NonPrivatePointerKHR 70 108: 102(ptr) AccessChain 107 58 31 CooperativeMatrixStoreNV 108 105 73 75 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 16 70 111: 50 Load 110(A) 113: 10 Load 112(B) 115: 32 Load 114(C) 116: 32 CooperativeMatrixMulAddNV 111 113 115 Store 109(D) 116 Store 118(l) 120 Store 126(F) 128 133: 55(ptr) AccessChain 131(a) 98 61 Store 133 132 Store 134(md1) 35 135: 32 Load 34(m) 136: 32 Load 34(m) 137: 32 FAdd 136 135 Store 34(m) 137 139: 16(float) CompositeExtract 137 1234 140: 16(float) Load 134(md1) 141: 16(float) FAdd 140 139 Store 134(md1) 141 147: 146(ptr) AccessChain 145(mC2) 92 148: 142 Load 147 149: 146(ptr) AccessChain 145(mC2) 58 Store 149 148 150: 71(ptr) AccessChain 69(block) 61 31 151: 32 CooperativeMatrixLoadNV 150 73 75 MakePointerVisibleKHR NonPrivatePointerKHR 70 Store 34(m) 151 152: 32 Load 34(m) 153: 71(ptr) AccessChain 69(block) 61 31 CooperativeMatrixStoreNV 153 152 73 75 MakePointerAvailableKHR NonPrivatePointerKHR 70 154: 93(ptr) AccessChain 91(block16) 58 31 155: 50 CooperativeMatrixLoadNV 154 73 75 MakePointerVisibleKHR NonPrivatePointerKHR 70 Store 52(m2) 155 156: 50 Load 52(m2) 157: 93(ptr) AccessChain 91(block16) 58 31 CooperativeMatrixStoreNV 157 156 73 75 MakePointerAvailableKHR NonPrivatePointerKHR 70 160: 10 Load 158(p1) Store 159(param) 160 161: 10 FunctionCall 14(f16(f161<16><3><8><8>;) 159(param) Store 158(p1) 161 164: 17 Load 162(p2) Store 163(param) 164 165: 17 FunctionCall 21(f32(f1<32><3><8><8>;) 163(param) Store 162(p2) 165 Store 158(p1) 166 Store 162(p2) 167 168: 10 Load 158(p1) 169: 10 Load 158(p1) 170: 10 FDiv 169 168 Store 158(p1) 170 172: 10 Load 158(p1) 173: 10 MatrixTimesScalar 172 171 Store 158(p1) 173 175: 17 Load 162(p2) 176: 17 MatrixTimesScalar 175 174 Store 162(p2) 176 185: 184(ptr) AccessChain 182(shmatrix) 83 186: 50 CooperativeMatrixLoadNV 185 183 75 MakePointerVisibleKHR NonPrivatePointerKHR 183 Store 177(ms) 186 187: 50 Load 177(ms) 188: 184(ptr) AccessChain 182(shmatrix) 83 CooperativeMatrixStoreNV 188 187 183 75 MakePointerAvailableKHR NonPrivatePointerKHR 183 189: 93(ptr) AccessChain 91(block16) 61 121 83 190: 50 CooperativeMatrixLoadNV 189 183 75 MakePointerVisibleKHR NonPrivatePointerKHR 70 Store 177(ms) 190 191: 50 Load 177(ms) 193: 93(ptr) AccessChain 91(block16) 61 192 83 CooperativeMatrixStoreNV 193 191 183 75 MakePointerAvailableKHR NonPrivatePointerKHR 70 Return FunctionEnd 14(f16(f161<16><3><8><8>;): 10 Function None 12 13(m): 11(ptr) FunctionParameter 15: Label 23: 10 Load 13(m) 24: 10 FNegate 23 ReturnValue 24 FunctionEnd 21(f32(f1<32><3><8><8>;): 17 Function None 19 20(m): 18(ptr) FunctionParameter 22: Label 27: 17 Load 20(m) 28: 17 FNegate 27 ReturnValue 28 FunctionEnd