Class ImplMultiplication_MT_DSCC

java.lang.Object
org.ejml.sparse.csc.mult.ImplMultiplication_MT_DSCC

public class ImplMultiplication_MT_DSCC extends Object
Implementation of concurrent matrix multiplication for DSCC matrices. Please invoke through CommonOps_MT_DSCC as that provides a nicer API.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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_DSCC as it will manage the input contract
    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_DSCC as it will manage the input contract
    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_DSCC as it will manage the input contract
    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_DSCC as it will manage the input contract
    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_DSCC as it will manage the input contract
    static void
    multAddTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)
    Invoke through CommonOps_MT_DSCC as it will manage the input contract
    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_DSCC as it will manage the input contract
    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_DSCC as it will manage the input contract
    static void
    multTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)
    Invoke through CommonOps_MT_DSCC as it will manage the input contract
    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_DSCC as it will manage the input contract
    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_DSCC as it will manage the input contract
    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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_DSCC as it will manage the input contract

      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 - Matrix
      B - Matrix
      C - 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_DSCC as 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_DSCC as 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_DSCC as 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_DSCC as 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_DSCC as 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_DSCC as 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_DSCC as 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_DSCC as 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_DSCC as 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_DSCC as it will manage the input contract