Package org.ejml.sparse.csc.mult
Class ImplMultiplication_MT_FSCC
java.lang.Object
org.ejml.sparse.csc.mult.ImplMultiplication_MT_FSCC
@Generated("org.ejml.sparse.csc.mult.ImplMultiplication_MT_DSCC") public class ImplMultiplication_MT_FSCC extends Object
Concurrent matrix multiplication for DSCC matrices.
-
Constructor Summary
Constructors Constructor Description ImplMultiplication_MT_FSCC() -
Method Summary
Modifier and Type Method Description static voidmult(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, boolean add, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork)static voidmult(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork)static voidmult(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixSparseCSC B, org.ejml.data.FMatrixSparseCSC C, pabeles.concurrency.GrowArray<Workspace_MT_FSCC> listWork)Performs matrix multiplication.static voidmultAdd(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork)static voidmultAddTransA(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork)static voidmultAddTransAB(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C)static voidmultAddTransB(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork)static voidmultTransA(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork)static voidmultTransAB(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C)static voidmultTransB(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, boolean add, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork)static voidmultTransB(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork)static voidstitchMatrix(org.ejml.data.FMatrixSparseCSC out, int numRows, int numCols, pabeles.concurrency.GrowArray<Workspace_MT_FSCC> listWork)Compines results from independent blocks into a single matrix
-
Constructor Details
-
ImplMultiplication_MT_FSCC
public ImplMultiplication_MT_FSCC()
-
-
Method Details
-
mult
public static void mult(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixSparseCSC B, org.ejml.data.FMatrixSparseCSC C, pabeles.concurrency.GrowArray<Workspace_MT_FSCC> listWork)Performs 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. Data length is increased if increased if insufficient.listWork- (Optional) Storage for internal workspace. Can be null.
-
stitchMatrix
public static void stitchMatrix(org.ejml.data.FMatrixSparseCSC out, int numRows, int numCols, pabeles.concurrency.GrowArray<Workspace_MT_FSCC> listWork)Compines results from independent blocks into a single matrix -
mult
public static void mult(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork) -
multAdd
public static void multAdd(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork) -
mult
public static void mult(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, boolean add, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork) -
multTransA
public static void multTransA(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork) -
multAddTransA
public static void multAddTransA(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork) -
multTransB
public static void multTransB(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork) -
multAddTransB
public static void multAddTransB(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork) -
multTransB
public static void multTransB(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C, boolean add, pabeles.concurrency.GrowArray<org.ejml.data.FGrowArray> listWork) -
multTransAB
public static void multTransAB(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C) -
multAddTransAB
public static void multAddTransAB(org.ejml.data.FMatrixSparseCSC A, org.ejml.data.FMatrixRMaj B, org.ejml.data.FMatrixRMaj C)
-