Package org.ujmp.core.calculation
Class MtimesDenseDoubleMatrix2D
- java.lang.Object
-
- org.ujmp.core.calculation.MtimesDenseDoubleMatrix2D
-
- All Implemented Interfaces:
MtimesCalculation<DenseDoubleMatrix2D,DenseDoubleMatrix2D,DenseDoubleMatrix2D>
class MtimesDenseDoubleMatrix2D extends java.lang.Object implements MtimesCalculation<DenseDoubleMatrix2D,DenseDoubleMatrix2D,DenseDoubleMatrix2D>
Contains matrix multiplication methods for different matrix implementations
-
-
Constructor Summary
Constructors Constructor Description MtimesDenseDoubleMatrix2D()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private BlockDenseDoubleMatrix2D
blockMultiplyMultiThreaded(BlockDenseDoubleMatrix2D a, BlockDenseDoubleMatrix2D b, BlockDenseDoubleMatrix2D c)
void
calc(DenseDoubleMatrix2D source1, DenseDoubleMatrix2D source2, DenseDoubleMatrix2D target)
private void
calcBlockMatrixMultiThreaded(DenseDoubleMatrix2D source1, DenseDoubleMatrix2D source2, DenseDoubleMatrix2D target)
private void
calcDenseDoubleMatrix2DMultiThreaded(DenseDoubleMatrix2D A, DenseDoubleMatrix2D B, DenseDoubleMatrix2D C)
private void
calcDenseDoubleMatrix2DSingleThreaded(DenseDoubleMatrix2D A, DenseDoubleMatrix2D B, DenseDoubleMatrix2D C)
private void
calcDoubleArray2DMultiThreaded(double[][] m1, double[][] m2, double[][] ret)
private void
calcDoubleArray2DSingleThreaded(double[][] m1, double[][] m2, double[][] ret)
private void
calcDoubleArrayMultiThreaded(double[] A, int m1RowCount, int m1ColumnCount, double[] B, int m2RowCount, int m2ColumnCount, double[] C)
private static void
calcOneColumn(double temp, double[] A, double[] C, int m1RowCount, int index1, int index2)
private void
gemmDoubleArraySingleThreaded(double[] A, int m1RowCount, int m1ColumnCount, double[] B, int m2RowCount, int m2ColumnCount, double[] C)
private int
selectBlocksPerTaskDimJ(int blockStripe, int iMax, int jMax, int kMax)
-
-
-
Method Detail
-
calc
public final void calc(DenseDoubleMatrix2D source1, DenseDoubleMatrix2D source2, DenseDoubleMatrix2D target)
- Specified by:
calc
in interfaceMtimesCalculation<DenseDoubleMatrix2D,DenseDoubleMatrix2D,DenseDoubleMatrix2D>
-
calcBlockMatrixMultiThreaded
private void calcBlockMatrixMultiThreaded(DenseDoubleMatrix2D source1, DenseDoubleMatrix2D source2, DenseDoubleMatrix2D target)
-
gemmDoubleArraySingleThreaded
private final void gemmDoubleArraySingleThreaded(double[] A, int m1RowCount, int m1ColumnCount, double[] B, int m2RowCount, int m2ColumnCount, double[] C)
-
calcDoubleArrayMultiThreaded
private final void calcDoubleArrayMultiThreaded(double[] A, int m1RowCount, int m1ColumnCount, double[] B, int m2RowCount, int m2ColumnCount, double[] C)
-
calcOneColumn
private static final void calcOneColumn(double temp, double[] A, double[] C, int m1RowCount, int index1, int index2)
-
calcDoubleArray2DSingleThreaded
private final void calcDoubleArray2DSingleThreaded(double[][] m1, double[][] m2, double[][] ret)
-
calcDoubleArray2DMultiThreaded
private final void calcDoubleArray2DMultiThreaded(double[][] m1, double[][] m2, double[][] ret)
-
calcDenseDoubleMatrix2DSingleThreaded
private final void calcDenseDoubleMatrix2DSingleThreaded(DenseDoubleMatrix2D A, DenseDoubleMatrix2D B, DenseDoubleMatrix2D C)
-
calcDenseDoubleMatrix2DMultiThreaded
private final void calcDenseDoubleMatrix2DMultiThreaded(DenseDoubleMatrix2D A, DenseDoubleMatrix2D B, DenseDoubleMatrix2D C)
-
blockMultiplyMultiThreaded
private BlockDenseDoubleMatrix2D blockMultiplyMultiThreaded(BlockDenseDoubleMatrix2D a, BlockDenseDoubleMatrix2D b, BlockDenseDoubleMatrix2D c)
- Parameters:
a
-b
-c
-- Returns:
-
selectBlocksPerTaskDimJ
private int selectBlocksPerTaskDimJ(int blockStripe, int iMax, int jMax, int kMax)
-
-