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