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.