linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUse R>.Load¶
Description¶
Loads a cooperative matrix from a pointer buffer.
Signature¶
/// Requires Capability Set 1: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<linalg.CoopMatMatrixLayoutmatrixLayout>( ByteAddressBuffer buffer, uint element, uint stride) where T : ICoopElement; /// Requires Capability Set 2: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<linalg.CoopMatMatrixLayoutmatrixLayout, L>( StructuredBuffer<T, L> buffer, uint element, uint stride) where L : IBufferDataLayout where T : ICoopElement; /// Requires Capability Set 1: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<linalg.CoopMatMatrixLayoutmatrixLayout>( RWByteAddressBuffer buffer, uint element, uint stride) where T : ICoopElement; /// Requires Capability Set 2: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<linalg.CoopMatMatrixLayoutmatrixLayout, L>( RWStructuredBuffer<T, L> buffer, uint element, uint stride) where L : IBufferDataLayout where T : ICoopElement; /// Requires Capability Set 2: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<linalg.CoopMatMatrixLayoutmatrixLayout>( Ptr<T, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout> buffer, uint element, uint stride) where T : ICoopElement; /// Requires Capability Set 2: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<linalg.CoopMatMatrixLayoutmatrixLayout, int V>( T[V] data, uint element, uint stride) where T : ICoopElement; /// Requires Capability Set 2: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<linalg.CoopMatMatrixLayoutmatrixLayout>( Ptr<T, Access.ReadWrite, AddressSpace.GroupShared, DefaultDataLayout> data, uint stride) where T : ICoopElement; /// Requires Capability Set 2: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<linalg.CoopMatMatrixLayoutmatrixLayout, U, int V>( U[V] data, uint element, uint stride) where T : ICoopElement; /// Requires Capability Set 2: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<linalg.CoopMatMatrixLayoutmatrixLayout, U>( Ptr<U, Access.ReadWrite, AddressSpace.GroupShared, DefaultDataLayout> data, uint stride) where T : ICoopElement; /// Requires Capability Set 3: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<linalg.CoopMatMatrixLayoutmatrixLayout, U, int V, int L>( vector<U, L>[V] data, uint element, uint stride) where T : ICoopElement; /// Requires Capability Set 4: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<uint Dim, linalg.CoopMatClampModeClampMode, P>( Ptr<P, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout> pointerIn, linalg.CoopMat<T, S, M, N, R> clippedValue, linalg.TensorLayout<Dim, ClampMode> tensorLayout) where T : ICoopElement; /// Requires Capability Set 4: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<uint Dim, linalg.CoopMatClampModeClampMode, uint DimView, bool HasDimensions, P, uint p0, uint p1, uint p2, uint p3, uint p4>( Ptr<P, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout> pointerIn, linalg.CoopMat<T, S, M, N, R> clippedValue, linalg.TensorLayout<Dim, ClampMode> tensorLayout, linalg.TensorView<DimView, HasDimensions, p0, p1, p2, p3, p4> tensorView) where T : ICoopElement; /// Requires Capability Set 5: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<U, uint Dim, linalg.CoopMatClampModeClampMode, P>( Ptr<P, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout> pointerIn, linalg.CoopMat<T, S, M, N, R> clippedValue, linalg.TensorLayout<Dim, ClampMode> tensorLayout, (Ptr<U, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>, uint[int(Dim)], uint[int(Dim)])->T decodeFunc) where T : ICoopElement; /// Requires Capability Set 5: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<U, uint Dim, linalg.CoopMatClampModeClampMode, uint DimView, bool HasDimensions, P, uint p0, uint p1, uint p2, uint p3, uint p4>( Ptr<P, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout> pointerIn, linalg.CoopMat<T, S, M, N, R> clippedValue, linalg.TensorLayout<Dim, ClampMode> tensorLayout, linalg.TensorView<DimView, HasDimensions, p0, p1, p2, p3, p4> tensorView, (Ptr<U, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>, uint[int(Dim)], uint[int(Dim)])->T decodeFunc) where T : ICoopElement; /// Requires Capability Set 4: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<uint Dim, linalg.CoopMatClampModeClampMode>( ByteAddressBuffer buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout) where T : ICoopElement; /// Requires Capability Set 4: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<uint Dim, linalg.CoopMatClampModeClampMode, L>( StructuredBuffer<T, L> buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout) where L : IBufferDataLayout where T : ICoopElement; /// Requires Capability Set 4: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<uint Dim, linalg.CoopMatClampModeClampMode, uint DimView, bool HasDimensions, uint p0, uint p1, uint p2, uint p3, uint p4>( ByteAddressBuffer buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, linalg.TensorView<DimView, HasDimensions, p0, p1, p2, p3, p4> tensorView) where T : ICoopElement; /// Requires Capability Set 4: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<uint Dim, linalg.CoopMatClampModeClampMode, uint DimView, bool HasDimensions, uint p0, uint p1, uint p2, uint p3, uint p4, L>( StructuredBuffer<T, L> buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, linalg.TensorView<DimView, HasDimensions, p0, p1, p2, p3, p4> tensorView) where L : IBufferDataLayout where T : ICoopElement; /// Requires Capability Set 5: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<U, uint Dim, linalg.CoopMatClampModeClampMode>( ByteAddressBuffer buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, (Ptr<U, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>, uint[int(Dim)], uint[int(Dim)])->T decodeFunc) where T : ICoopElement; /// Requires Capability Set 5: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<U, uint Dim, linalg.CoopMatClampModeClampMode, L>( StructuredBuffer<T, L> buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, (Ptr<U, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>, uint[int(Dim)], uint[int(Dim)])->T decodeFunc) where L : IBufferDataLayout where T : ICoopElement; /// Requires Capability Set 5: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<U, uint Dim, linalg.CoopMatClampModeClampMode, uint DimView, bool HasDimensions, uint p0, uint p1, uint p2, uint p3, uint p4>( ByteAddressBuffer buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, linalg.TensorView<DimView, HasDimensions, p0, p1, p2, p3, p4> tensorView, (Ptr<U, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>, uint[int(Dim)], uint[int(Dim)])->T decodeFunc) where T : ICoopElement; /// Requires Capability Set 5: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<U, uint Dim, linalg.CoopMatClampModeClampMode, uint DimView, bool HasDimensions, uint p0, uint p1, uint p2, uint p3, uint p4, L>( StructuredBuffer<T, L> buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, linalg.TensorView<DimView, HasDimensions, p0, p1, p2, p3, p4> tensorView, (Ptr<U, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>, uint[int(Dim)], uint[int(Dim)])->T decodeFunc) where L : IBufferDataLayout where T : ICoopElement; /// Requires Capability Set 4: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<uint Dim, linalg.CoopMatClampModeClampMode>( RWByteAddressBuffer buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout) where T : ICoopElement; /// Requires Capability Set 4: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<uint Dim, linalg.CoopMatClampModeClampMode, L>( RWStructuredBuffer<T, L> buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout) where L : IBufferDataLayout where T : ICoopElement; /// Requires Capability Set 4: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<uint Dim, linalg.CoopMatClampModeClampMode, uint DimView, bool HasDimensions, uint p0, uint p1, uint p2, uint p3, uint p4>( RWByteAddressBuffer buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, linalg.TensorView<DimView, HasDimensions, p0, p1, p2, p3, p4> tensorView) where T : ICoopElement; /// Requires Capability Set 4: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<uint Dim, linalg.CoopMatClampModeClampMode, uint DimView, bool HasDimensions, uint p0, uint p1, uint p2, uint p3, uint p4, L>( RWStructuredBuffer<T, L> buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, linalg.TensorView<DimView, HasDimensions, p0, p1, p2, p3, p4> tensorView) where L : IBufferDataLayout where T : ICoopElement; /// Requires Capability Set 5: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<U, uint Dim, linalg.CoopMatClampModeClampMode>( RWByteAddressBuffer buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, (Ptr<U, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>, uint[int(Dim)], uint[int(Dim)])->T decodeFunc) where T : ICoopElement; /// Requires Capability Set 5: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<U, uint Dim, linalg.CoopMatClampModeClampMode, L>( RWStructuredBuffer<T, L> buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, (Ptr<U, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>, uint[int(Dim)], uint[int(Dim)])->T decodeFunc) where L : IBufferDataLayout where T : ICoopElement; /// Requires Capability Set 5: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<U, uint Dim, linalg.CoopMatClampModeClampMode, uint DimView, bool HasDimensions, uint p0, uint p1, uint p2, uint p3, uint p4>( RWByteAddressBuffer buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, linalg.TensorView<DimView, HasDimensions, p0, p1, p2, p3, p4> tensorView, (Ptr<U, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>, uint[int(Dim)], uint[int(Dim)])->T decodeFunc) where T : ICoopElement; /// Requires Capability Set 5: static linalg.CoopMat<T, S, M, N, R> linalg::CoopMat<T, MemoryScope S, int M, int N, linalg.CoopMatMatrixUseR>.Load<U, uint Dim, linalg.CoopMatClampModeClampMode, uint DimView, bool HasDimensions, uint p0, uint p1, uint p2, uint p3, uint p4, L>( RWStructuredBuffer<T, L> buffer, uint element, linalg.TensorLayout<Dim, ClampMode> tensorLayout, linalg.TensorView<DimView, HasDimensions, p0, p1, p2, p3, p4> tensorView, (Ptr<U, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>, uint[int(Dim)], uint[int(Dim)])->T decodeFunc) where L : IBufferDataLayout where T : ICoopElement;
Generic Parameters¶
matrixLayout : linalg.CoopMatMatrixLayout¶
The memory layout (RowMajor or ColMajor) of the data in the buffer.
L: IBufferDataLayout = DefaultDataLayout¶
V : int¶
U¶
L : int¶
Dim : uint¶
ClampMode : linalg.CoopMatClampMode¶
P¶
DimView : uint¶
HasDimensions : bool¶
p0 : uint = 5¶
p1 : uint = 5¶
p2 : uint = 5¶
p3 : uint = 5¶
p4 : uint = 5¶
Parameters¶
buffer : ByteAddressBuffer¶
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).
buffer : StructuredBuffer<T, L>¶
The pointer to the buffer to load from.
buffer : RWByteAddressBuffer¶
The pointer to the buffer to load from.
buffer : RWStructuredBuffer<T, L>¶
The pointer to the buffer to load from.
buffer : Ptr<T, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>¶
The pointer to the buffer to load from.
data : T [ V ]¶
data : U [ V ]¶
data : vector<U, L> [ V ]¶
pointerIn : Ptr<P, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>¶
clippedValue : linalg.CoopMat<T, S, M, N, R>¶
tensorLayout : linalg.TensorLayout<Dim, ClampMode>¶
tensorView : linalg.TensorView<DimView, HasDimensions, p0, p1, p2, p3, p4>¶
decodeFunc : ( Ptr<U, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>, uint [ int ( Dim ) ], uint [ int ( Dim ) ] ) -> T¶
Return value¶
A cooperative matrix loaded from the buffer.
Availability and Requirements¶
Capability Set 1¶
Defined for the following targets:
hlsl¶
Available in all stages.
cuda¶
Available in all stages.
metal¶
Available in all stages.
spirv¶
Available in all stages.
Requires capability: spvCooperativeMatrixKHR.
Capability Set 2¶
Defined for the following targets:
cuda¶
Available in all stages.
metal¶
Available in all stages.
spirv¶
Available in all stages.
Requires capability: spvCooperativeMatrixKHR.
Capability Set 3¶
Defined for the following targets:
spirv¶
Available in all stages.
Requires capability: spvCooperativeMatrixKHR.
Capability Set 4¶
Defined for the following targets:
spirv¶
Available in all stages.
Requires capability: spvCooperativeMatrixTensorAddressingNV.
Capability Set 5¶
Defined for the following targets:
spirv¶
Available in all stages.
Requires capability: spvCooperativeMatrixBlockLoadsNV.