Class ImplMultiplication_MT_DSCC
CommonOps_MT_DSCC as that provides a nicer API.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidmult(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, boolean add, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke throughCommonOps_MT_DSCCas it will manage the input contractstatic voidmult(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke throughCommonOps_MT_DSCCas it will manage the input contractstatic voidmult(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, org.ejml.data.DMatrixSparseCSC C, pabeles.concurrency.GrowArray<Workspace_MT_DSCC> listWork) Invoke throughCommonOps_MT_DSCCas it will manage the input contractstatic voidmultAdd(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke throughCommonOps_MT_DSCCas it will manage the input contractstatic voidmultAddTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke throughCommonOps_MT_DSCCas it will manage the input contractstatic voidmultAddTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C) Invoke throughCommonOps_MT_DSCCas it will manage the input contractstatic voidmultAddTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke throughCommonOps_MT_DSCCas it will manage the input contractstatic voidmultTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke throughCommonOps_MT_DSCCas it will manage the input contractstatic voidmultTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C) Invoke throughCommonOps_MT_DSCCas it will manage the input contractstatic voidmultTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, boolean add, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke throughCommonOps_MT_DSCCas it will manage the input contractstatic voidmultTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke throughCommonOps_MT_DSCCas it will manage the input contractstatic voidstitchMatrix(org.ejml.data.DMatrixSparseCSC out, int numRows, int numCols, pabeles.concurrency.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(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, org.ejml.data.DMatrixSparseCSC C, pabeles.concurrency.GrowArray<Workspace_MT_DSCC> listWork) Invoke through
CommonOps_MT_DSCCas 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(org.ejml.data.DMatrixSparseCSC out, int numRows, int numCols, pabeles.concurrency.GrowArray<Workspace_MT_DSCC> listWork) Combines results from independent blocks into a single matrix -
mult
public static void mult(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke through
CommonOps_MT_DSCCas it will manage the input contract -
multAdd
public static void multAdd(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke through
CommonOps_MT_DSCCas it will manage the input contract -
mult
public static void mult(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, boolean add, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke through
CommonOps_MT_DSCCas it will manage the input contract -
multTransA
public static void multTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke through
CommonOps_MT_DSCCas it will manage the input contract -
multAddTransA
public static void multAddTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke through
CommonOps_MT_DSCCas it will manage the input contract -
multTransB
public static void multTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke through
CommonOps_MT_DSCCas it will manage the input contract -
multAddTransB
public static void multAddTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke through
CommonOps_MT_DSCCas it will manage the input contract -
multTransB
public static void multTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, boolean add, pabeles.concurrency.GrowArray<org.ejml.data.DGrowArray> listWork) Invoke through
CommonOps_MT_DSCCas it will manage the input contract -
multTransAB
public static void multTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C) Invoke through
CommonOps_MT_DSCCas it will manage the input contract -
multAddTransAB
public static void multAddTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C) Invoke through
CommonOps_MT_DSCCas it will manage the input contract
-