You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

376 lines
20 KiB

spv.coopmat.comp
// Module Version 10000
// Generated by (magic number): 8000a
// 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