| spv.coopvecTraining.comp |
| // Module Version 10300 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 47 |
| |
| Capability Shader |
| Capability Float16 |
| Capability Int8 |
| Capability StorageUniformBufferBlock16 |
| Capability StorageBuffer8BitAccess |
| Capability VulkanMemoryModelKHR |
| Capability CooperativeVectorNV |
| Capability CooperativeVectorTrainingNV |
| Extension "SPV_KHR_8bit_storage" |
| Extension "SPV_KHR_vulkan_memory_model" |
| Extension "SPV_NV_cooperative_vector" |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical VulkanKHR |
| EntryPoint GLCompute 4 "main" |
| ExecutionMode 4 LocalSize 64 1 1 |
| Source GLSL 450 |
| SourceExtension "GL_EXT_buffer_reference" |
| SourceExtension "GL_EXT_nonuniform_qualifier" |
| SourceExtension "GL_EXT_shader_explicit_arithmetic_types" |
| SourceExtension "GL_KHR_memory_scope_semantics" |
| SourceExtension "GL_NV_cooperative_vector" |
| Name 4 "main" |
| Name 11 "v0" |
| Name 16 "v1" |
| Name 19 "MatrixBuf" |
| MemberName 19(MatrixBuf) 0 "matrixData" |
| Name 21 "matrixBuf" |
| Name 28 "matrixLayout" |
| Name 33 "MatrixBuf2" |
| MemberName 33(MatrixBuf2) 0 "matrixData" |
| Name 35 "matrixBuf2" |
| Decorate 18 ArrayStride 2 |
| Decorate 19(MatrixBuf) Block |
| MemberDecorate 19(MatrixBuf) 0 Offset 0 |
| Decorate 21(matrixBuf) Binding 0 |
| Decorate 21(matrixBuf) DescriptorSet 0 |
| Decorate 28(matrixLayout) SpecId 0 |
| Decorate 32 ArrayStride 1 |
| Decorate 33(MatrixBuf2) Block |
| MemberDecorate 33(MatrixBuf2) 0 Offset 0 |
| Decorate 35(matrixBuf2) Binding 0 |
| Decorate 35(matrixBuf2) DescriptorSet 0 |
| Decorate 46 BuiltIn WorkgroupSize |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeFloat 16 |
| 7: TypeInt 32 0 |
| 8: 7(int) Constant 8 |
| 9: TypeCooperativeVectorNV 6(float16_t) 8 |
| 10: TypePointer Function 9 |
| 13: 7(int) Constant 5 |
| 14: TypeCooperativeVectorNV 6(float16_t) 13 |
| 15: TypePointer Function 14 |
| 18: TypeRuntimeArray 6(float16_t) |
| 19(MatrixBuf): TypeStruct 18 |
| 20: TypePointer StorageBuffer 19(MatrixBuf) |
| 21(matrixBuf): 20(ptr) Variable StorageBuffer |
| 22: TypeInt 32 1 |
| 23: 22(int) Constant 0 |
| 24: TypePointer StorageBuffer 18 |
| 26: 7(int) Constant 100 |
| 27: 7(int) Constant 128 |
| 28(matrixLayout): 22(int) SpecConstant 2 |
| 31: TypeInt 8 1 |
| 32: TypeRuntimeArray 31(int8_t) |
| 33(MatrixBuf2): TypeStruct 32 |
| 34: TypePointer StorageBuffer 33(MatrixBuf2) |
| 35(matrixBuf2): 34(ptr) Variable StorageBuffer |
| 36: TypePointer StorageBuffer 32 |
| 38: 22(int) Constant 2 |
| 43: TypeVector 7(int) 3 |
| 44: 7(int) Constant 64 |
| 45: 7(int) Constant 1 |
| 46: 43(ivec3) ConstantComposite 44 45 45 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 11(v0): 10(ptr) Variable Function |
| 16(v1): 15(ptr) Variable Function |
| 12: 9 Load 11(v0) |
| 17: 14 Load 16(v1) |
| 25: 24(ptr) AccessChain 21(matrixBuf) 23 |
| CooperativeVectorOuterProductAccumulateNV 25 26 12 17 28(matrixLayout) 23 27 |
| 29: 9 Load 11(v0) |
| 30: 14 Load 16(v1) |
| 37: 36(ptr) AccessChain 35(matrixBuf2) 23 |
| CooperativeVectorOuterProductAccumulateNV 37 26 29 30 38 23 27 |
| 39: 9 Load 11(v0) |
| 40: 24(ptr) AccessChain 21(matrixBuf) 23 |
| CooperativeVectorReduceSumAccumulateNV 40 26 39 |
| 41: 9 Load 11(v0) |
| 42: 36(ptr) AccessChain 35(matrixBuf2) 23 |
| CooperativeVectorReduceSumAccumulateNV 42 26 41 |
| Return |
| FunctionEnd |