Class ImplMultiplication_MT_DSCC
CommonOps_MT_DSCC
as that provides a nicer API.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
mult
(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, boolean add, GrowArray<DGrowArray> listWork) Invoke throughCommonOps_MT_DSCC
as it will manage the input contractstatic void
mult
(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke throughCommonOps_MT_DSCC
as it will manage the input contractstatic void
mult
(DMatrixSparseCSC A, DMatrixSparseCSC B, DMatrixSparseCSC C, GrowArray<Workspace_MT_DSCC> listWork) Invoke throughCommonOps_MT_DSCC
as it will manage the input contractstatic void
multAdd
(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke throughCommonOps_MT_DSCC
as it will manage the input contractstatic void
multAddTransA
(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke throughCommonOps_MT_DSCC
as it will manage the input contractstatic void
Invoke throughCommonOps_MT_DSCC
as it will manage the input contractstatic void
multAddTransB
(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke throughCommonOps_MT_DSCC
as it will manage the input contractstatic void
multTransA
(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke throughCommonOps_MT_DSCC
as it will manage the input contractstatic void
Invoke throughCommonOps_MT_DSCC
as it will manage the input contractstatic void
multTransB
(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, boolean add, GrowArray<DGrowArray> listWork) Invoke throughCommonOps_MT_DSCC
as it will manage the input contractstatic void
multTransB
(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke throughCommonOps_MT_DSCC
as it will manage the input contractstatic void
stitchMatrix
(DMatrixSparseCSC out, int numRows, int numCols, GrowArray<Workspace_MT_DSCC> listWork) Combines results from independent blocks into a single matrix
-
Constructor Details
-
ImplMultiplication_MT_DSCC
public ImplMultiplication_MT_DSCC()
-
-
Method Details
-
mult
public static void mult(DMatrixSparseCSC A, DMatrixSparseCSC B, DMatrixSparseCSC C, GrowArray<Workspace_MT_DSCC> listWork) Invoke through
CommonOps_MT_DSCC
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(DMatrixSparseCSC out, int numRows, int numCols, GrowArray<Workspace_MT_DSCC> listWork) Combines results from independent blocks into a single matrix -
mult
public static void mult(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke through
CommonOps_MT_DSCC
as it will manage the input contract -
multAdd
public static void multAdd(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke through
CommonOps_MT_DSCC
as it will manage the input contract -
mult
public static void mult(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, boolean add, GrowArray<DGrowArray> listWork) Invoke through
CommonOps_MT_DSCC
as it will manage the input contract -
multTransA
public static void multTransA(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke through
CommonOps_MT_DSCC
as it will manage the input contract -
multAddTransA
public static void multAddTransA(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke through
CommonOps_MT_DSCC
as it will manage the input contract -
multTransB
public static void multTransB(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke through
CommonOps_MT_DSCC
as it will manage the input contract -
multAddTransB
public static void multAddTransB(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, GrowArray<DGrowArray> listWork) Invoke through
CommonOps_MT_DSCC
as it will manage the input contract -
multTransB
public static void multTransB(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C, boolean add, GrowArray<DGrowArray> listWork) Invoke through
CommonOps_MT_DSCC
as it will manage the input contract -
multTransAB
Invoke through
CommonOps_MT_DSCC
as it will manage the input contract -
multAddTransAB
Invoke through
CommonOps_MT_DSCC
as it will manage the input contract
-