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
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
|