The KHR form comes along as part of 1.5, and otherwise should require another form of request to emit it.
376 lines
20 KiB
Plaintext
376 lines
20 KiB
Plaintext
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
|