• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1spv.coopvecTraining.comp
2// Module Version 10300
3// Generated by (magic number): 8000b
4// Id's are bound by 47
5
6                              Capability Shader
7                              Capability Float16
8                              Capability Int8
9                              Capability StorageUniformBufferBlock16
10                              Capability StorageBuffer8BitAccess
11                              Capability VulkanMemoryModelKHR
12                              Capability CooperativeVectorNV
13                              Capability CooperativeVectorTrainingNV
14                              Extension  "SPV_KHR_8bit_storage"
15                              Extension  "SPV_KHR_vulkan_memory_model"
16                              Extension  "SPV_NV_cooperative_vector"
17               1:             ExtInstImport  "GLSL.std.450"
18                              MemoryModel Logical VulkanKHR
19                              EntryPoint GLCompute 4  "main"
20                              ExecutionMode 4 LocalSize 64 1 1
21                              Source GLSL 450
22                              SourceExtension  "GL_EXT_buffer_reference"
23                              SourceExtension  "GL_EXT_nonuniform_qualifier"
24                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types"
25                              SourceExtension  "GL_KHR_memory_scope_semantics"
26                              SourceExtension  "GL_NV_cooperative_vector"
27                              Name 4  "main"
28                              Name 11  "v0"
29                              Name 16  "v1"
30                              Name 19  "MatrixBuf"
31                              MemberName 19(MatrixBuf) 0  "matrixData"
32                              Name 21  "matrixBuf"
33                              Name 28  "matrixLayout"
34                              Name 33  "MatrixBuf2"
35                              MemberName 33(MatrixBuf2) 0  "matrixData"
36                              Name 35  "matrixBuf2"
37                              Decorate 18 ArrayStride 2
38                              Decorate 19(MatrixBuf) Block
39                              MemberDecorate 19(MatrixBuf) 0 Offset 0
40                              Decorate 21(matrixBuf) Binding 0
41                              Decorate 21(matrixBuf) DescriptorSet 0
42                              Decorate 28(matrixLayout) SpecId 0
43                              Decorate 32 ArrayStride 1
44                              Decorate 33(MatrixBuf2) Block
45                              MemberDecorate 33(MatrixBuf2) 0 Offset 0
46                              Decorate 35(matrixBuf2) Binding 0
47                              Decorate 35(matrixBuf2) DescriptorSet 0
48                              Decorate 46 BuiltIn WorkgroupSize
49               2:             TypeVoid
50               3:             TypeFunction 2
51               6:             TypeFloat 16
52               7:             TypeInt 32 0
53               8:      7(int) Constant 8
54               9:             TypeCooperativeVectorNV 6(float16_t) 8
55              10:             TypePointer Function 9
56              13:      7(int) Constant 5
57              14:             TypeCooperativeVectorNV 6(float16_t) 13
58              15:             TypePointer Function 14
59              18:             TypeRuntimeArray 6(float16_t)
60   19(MatrixBuf):             TypeStruct 18
61              20:             TypePointer StorageBuffer 19(MatrixBuf)
62   21(matrixBuf):     20(ptr) Variable StorageBuffer
63              22:             TypeInt 32 1
64              23:     22(int) Constant 0
65              24:             TypePointer StorageBuffer 18
66              26:      7(int) Constant 100
67              27:      7(int) Constant 128
6828(matrixLayout):     22(int) SpecConstant 2
69              31:             TypeInt 8 1
70              32:             TypeRuntimeArray 31(int8_t)
71  33(MatrixBuf2):             TypeStruct 32
72              34:             TypePointer StorageBuffer 33(MatrixBuf2)
73  35(matrixBuf2):     34(ptr) Variable StorageBuffer
74              36:             TypePointer StorageBuffer 32
75              38:     22(int) Constant 2
76              43:             TypeVector 7(int) 3
77              44:      7(int) Constant 64
78              45:      7(int) Constant 1
79              46:   43(ivec3) ConstantComposite 44 45 45
80         4(main):           2 Function None 3
81               5:             Label
82          11(v0):     10(ptr) Variable Function
83          16(v1):     15(ptr) Variable Function
84              12:           9 Load 11(v0)
85              17:          14 Load 16(v1)
86              25:     24(ptr) AccessChain 21(matrixBuf) 23
87                              CooperativeVectorOuterProductAccumulateNV 25 26 12 17 28(matrixLayout) 23 27
88              29:           9 Load 11(v0)
89              30:          14 Load 16(v1)
90              37:     36(ptr) AccessChain 35(matrixBuf2) 23
91                              CooperativeVectorOuterProductAccumulateNV 37 26 29 30 38 23 27
92              39:           9 Load 11(v0)
93              40:     24(ptr) AccessChain 21(matrixBuf) 23
94                              CooperativeVectorReduceSumAccumulateNV 40 26 39
95              41:           9 Load 11(v0)
96              42:     36(ptr) AccessChain 35(matrixBuf2) 23
97                              CooperativeVectorReduceSumAccumulateNV 42 26 41
98                              Return
99                              FunctionEnd
100