linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUse R>.LoadCoherent¶
Description¶
Loads a cooperative matrix from a pointer buffer with coherent memory access. Ensures memory reads observe writes made visible across the specified memory scope. Vulkan only.
Signature¶
static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.LoadCoherent<linalg.CoopMatMatrixLayoutmatrixLayout>( Ptr<T, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout> buffer, uint element, uint stride, MemoryScope memoryScope) where T : ICoopElement;
Generic Parameters¶
matrixLayout : linalg.CoopMatMatrixLayout¶
The memory layout (RowMajor or ColMajor) of the data in the buffer.
Parameters¶
buffer : Ptr<T, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>¶
The pointer to the buffer to load from.
element : uint¶
The starting element index in the buffer.
stride : uint¶
The stride in elements between consecutive rows (for row major) or columns (for column major).
memoryScope : MemoryScope¶
The scope from which writes should be visible (e.g., Device, Workgroup).
Return value¶
A cooperative matrix loaded from the buffer.
Availability and Requirements¶
Defined for the following targets:
spirv¶
Available in all stages.
Requires capabilities: spvCooperativeMatrixKHR, spvVulkanMemoryModelKHR, spvVulkanMemoryModelDeviceScopeKHR.