Class ImplMultiplication_MT_FSCC
CommonOps_MT_FSCC
as that provides a nicer API.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
mult
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, boolean add, GrowArray<FGrowArray> listWork) Invoke throughCommonOps_MT_FSCC
as it will manage the input contractstatic void
mult
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke throughCommonOps_MT_FSCC
as it will manage the input contractstatic void
mult
(FMatrixSparseCSC A, FMatrixSparseCSC B, FMatrixSparseCSC C, GrowArray<Workspace_MT_FSCC> listWork) Invoke throughCommonOps_MT_FSCC
as it will manage the input contractstatic void
multAdd
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke throughCommonOps_MT_FSCC
as it will manage the input contractstatic void
multAddTransA
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke throughCommonOps_MT_FSCC
as it will manage the input contractstatic void
Invoke throughCommonOps_MT_FSCC
as it will manage the input contractstatic void
multAddTransB
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke throughCommonOps_MT_FSCC
as it will manage the input contractstatic void
multTransA
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke throughCommonOps_MT_FSCC
as it will manage the input contractstatic void
Invoke throughCommonOps_MT_FSCC
as it will manage the input contractstatic void
multTransB
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, boolean add, GrowArray<FGrowArray> listWork) Invoke throughCommonOps_MT_FSCC
as it will manage the input contractstatic void
multTransB
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke throughCommonOps_MT_FSCC
as it will manage the input contractstatic void
stitchMatrix
(FMatrixSparseCSC out, int numRows, int numCols, GrowArray<Workspace_MT_FSCC> listWork) Combines results from independent blocks into a single matrix
-
Constructor Details
-
ImplMultiplication_MT_FSCC
public ImplMultiplication_MT_FSCC()
-
-
Method Details
-
mult
public static void mult(FMatrixSparseCSC A, FMatrixSparseCSC B, FMatrixSparseCSC C, GrowArray<Workspace_MT_FSCC> listWork) Invoke through
CommonOps_MT_FSCC
as it will manage the input contractPerforms matrix multiplication. C = A*B. The problem is broken up into as many "blocks" as there are threads available. Each block will process a set of columns independently. After running results from independent blocks are stitched together in the main thread. Extra storage requirements is about the same size as 'C'.
- Parameters:
A
- MatrixB
- MatrixC
- Storage for results. Array size is increased if needed.listWork
- Storage for internal workspace.
-
stitchMatrix
public static void stitchMatrix(FMatrixSparseCSC out, int numRows, int numCols, GrowArray<Workspace_MT_FSCC> listWork) Combines results from independent blocks into a single matrix -
mult
public static void mult(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke through
CommonOps_MT_FSCC
as it will manage the input contract -
multAdd
public static void multAdd(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke through
CommonOps_MT_FSCC
as it will manage the input contract -
mult
public static void mult(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, boolean add, GrowArray<FGrowArray> listWork) Invoke through
CommonOps_MT_FSCC
as it will manage the input contract -
multTransA
public static void multTransA(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke through
CommonOps_MT_FSCC
as it will manage the input contract -
multAddTransA
public static void multAddTransA(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke through
CommonOps_MT_FSCC
as it will manage the input contract -
multTransB
public static void multTransB(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke through
CommonOps_MT_FSCC
as it will manage the input contract -
multAddTransB
public static void multAddTransB(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, GrowArray<FGrowArray> listWork) Invoke through
CommonOps_MT_FSCC
as it will manage the input contract -
multTransB
public static void multTransB(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, boolean add, GrowArray<FGrowArray> listWork) Invoke through
CommonOps_MT_FSCC
as it will manage the input contract -
multTransAB
Invoke through
CommonOps_MT_FSCC
as it will manage the input contract -
multAddTransAB
Invoke through
CommonOps_MT_FSCC
as it will manage the input contract
-