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