MPSMatrixDecompositionLU(3) MetalPerformanceShaders.framework MPSMatrixDecompositionLU(3)

MPSMatrixDecompositionLU

#import <MPSMatrixDecomposition.h>

Inherits MPSMatrixUnaryKernel.


(nonnull instancetype) - initWithDevice:rows:columns:
(void) - encodeToCommandBuffer:sourceMatrix:resultMatrix:pivotIndices:status:

This depends on Metal.framework.

A kernel for computing the LU factorization of a matrix using partial pivoting with row interchanges.

A MPSMatrixDecompositionLU object computes an LU factorization:


P * A = L * U
A is a matrix for which the LU factorization is to be computed.
L is a unit lower triangular matrix and U is an upper triangular
matrix. P is a permutation matrix.

- (void) encodeToCommandBuffer: (nonnull id< MTLCommandBuffer >) commandBuffer(MPSMatrix *__nonnull) sourceMatrix(MPSMatrix *__nonnull) resultMatrix(MPSMatrix *__nonnull) pivotIndices(__nullable id< MTLBuffer >) status

Encode a MPSMatrixDecompositionLU kernel into a command Buffer.

Parameters:

commandBuffer A valid MTLCommandBuffer to receive the encoded filter
sourceMatrix A valid MPSMatrix containing the source data. Must have enough space to hold a rows x columns matrix.
resultMatrix A valid MPSMatrix to contain the result. Must have enough space to hold a rows x columns matrix.
pivotIndices A valid MPSMatrix to contain the pivot indices. Must have enough space to hold an array of size 1xmin(rows, columns) values. Element type must be MPSDataTypeUInt32.
status A MTLBuffer which indicates the resulting MPSMatrixDecompositionStatus value.

This function encodes the MPSMatrixDecompositionLU object to a valid command buffer.

Upon completion the array pivotIndices contains, for each index i, the row interchanged with row i.

If during the computation U[k, k], for some k, is determined to be exactly zero MPSMatrixDecompositionStatusSingular will be returned in the provided status buffer. The data referenced by the MTLBuffer is not valid until the command buffer has completed execution. If the matrix return status is not desired NULL may be provided.

Upon successful factorization, resultMatrix contains the resulting lower triangular factor (without the unit diagonal elements) in its strictly lower triangular region and the upper triangular factor in its upper triangular region.

This kernel functions either in-place, if the result matrix completely aliases the source matrix, or out-of-place. If there is any partial overlap between input and output data the results are undefined.

- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device(NSUInteger) rows(NSUInteger) columns

Initialize an MPSMatrixDecompositionLU object on a device

Parameters:

device The device on which the kernel will execute.
rows The number of rows in the source matrix.
columns The number of columns in the source matrix.

Returns:

A valid MPSMatrixDecompositionLU object or nil, if failure.

Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.

Mon Jul 9 2018 Version MetalPerformanceShaders-119.3