MPSMatrixSolveLU(3) MetalPerformanceShaders.framework MPSMatrixSolveLU(3)

MPSMatrixSolveLU

#import <MPSMatrixSolve.h>

Inherits MPSMatrixBinaryKernel.


(nonnull instancetype) - initWithDevice:transpose:order:numberOfRightHandSides:
(void) - encodeToCommandBuffer:sourceMatrix:rightHandSideMatrix:pivotIndices:solutionMatrix:

This depends on Metal.framework.

A kernel for computing the solution of a linear system of equations using the LU factorization resulting from a MPSMatrixDecompositionLU kernel.

A MPSMatrixSolveLU finds the solution matrix to the system:


op(A) * X = B
Where op(A) is A**T or A. B is the array of right hand sides for which
the equations are to be solved. X is the resulting matrix of solutions.

- (void) encodeToCommandBuffer: (nonnull id< MTLCommandBuffer >) commandBuffer(MPSMatrix *__nonnull) sourceMatrix(MPSMatrix *__nonnull) rightHandSideMatrix(MPSMatrix *__nonnull) pivotIndices(MPSMatrix *__nonnull) solutionMatrix

Encode a MPSMatrixSolveLU kernel into a command Buffer.

Parameters:

commandBuffer A valid MTLCommandBuffer to receive the encoded filter
sourceMatrix A valid MPSMatrix containing the source matrix in factored form as returned by a previous successful execution of a MPSMatrixDecompositionLU kernel.
rightHandSideMatrix A valid MPSMatrix containing the right hand side values.
pivotIndices A valid MPSMatrix which contains the pivot indices as returned by a previous successful execution of a MPSMatrixDecompositionLU kernel.
solutionMatrix A valid MPSMatrix to contain the result.

This function encodes the MPSMatrixSolveLU object to a valid command buffer. sourceMatrix should contain the lower and upper triangular factors of A as results from a previous execution of MPSMatrixDecompositionLU.

pivotIndices is an array of pivots resulting from a previous execution of MPSMatrixDecompositionLU.

rightHandSideMatrix and solutionMatrix must be large enough to hold a matrix of size order x numberOfRightHandSides starting at secondarySourceMatrixOrigin and resultMatrixOrigin respectively.

sourceMatrix must be at least size order x order starting at primarySourceMatrixOrigin.

- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device(BOOL) transpose(NSUInteger) order(NSUInteger) numberOfRightHandSides

Initialize an MPSMatrixSolveLU object on a device

Parameters:

device The device on which the kernel will execute.
transpose A boolean value which indicates if the source matrix should be used in transposed form.
order The order of the source matrix and the number of rows in the solution and right hand side matrices.
numberOfRightHandSides The number of columns in the solution and right hand side matrices.

Returns:

A valid MPSMatrixSolveLU object or nil, if failure.

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

Mon Jul 9 2018 Version MetalPerformanceShaders-119.3