| spv.coopmat.comp |
| // Module Version 10000 |
| // Generated by (magic number): 80007 |
| // Id's are bound by 228 |
| |
| Capability Shader |
| Capability Float16 |
| Capability StorageUniformBufferBlock16 |
| Capability VulkanMemoryModelKHR |
| Capability PhysicalStorageBufferAddressesEXT |
| Capability CooperativeMatrixNV |
| Extension "SPV_EXT_physical_storage_buffer" |
| Extension "SPV_KHR_16bit_storage" |
| 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 |