org.apache.sysds.runtime.matrix.data

## Class LibMatrixNative

- java.lang.Object
- - org.apache.sysds.runtime.matrix.data.LibMatrixNative

-     public class LibMatrixNative
      extends Object

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LibMatrixNative()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `conv2d(MatrixBlock input, MatrixBlock filter, MatrixBlock outputBlock, DnnParameters params)` This method performs convolution (i.e.
    `static void` | `conv2dBackwardData(MatrixBlock filter, MatrixBlock dout, MatrixBlock outputBlock, DnnParameters params)` This method computes the backpropagation errors for previous layer of convolution operation
    `static void` | `conv2dBackwardFilter(MatrixBlock input, MatrixBlock dout, MatrixBlock outputBlock, DnnParameters params)` This method computes the backpropogation errors for filter of convolution operation
    `static void` | `fromFloatBuffer(FloatBuffer buff, double[] output)`
    `static boolean` | `isMatMultMemoryBound(int m1Rlen, int m1Clen, int m2Clen)`
    `static boolean` | `isSinglePrecision()`
    `static void` | `matrixMult(MatrixBlock m1, MatrixBlock m2, MatrixBlock ret, int k)` Performs matrix multiplication using native library if BLAS is available or else falls back to Java BLAS.
    `static void` | `matrixMult(MatrixBlock m1, MatrixBlock m2, MatrixBlock ret, int k, boolean examSparsity)`
    `static void` | `tsmm(MatrixBlock m1, MatrixBlock ret, boolean leftTrans, int k)`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### LibMatrixNative

          public LibMatrixNative()

  - ### Method Detail

    - #### isMatMultMemoryBound

          public static boolean isMatMultMemoryBound(int m1Rlen,
                                                     int m1Clen,
                                                     int m2Clen)

    - #### matrixMult

          public static void matrixMult(MatrixBlock m1,
                                        MatrixBlock m2,
                                        MatrixBlock ret,
                                        int k)

      Performs matrix multiplication using native library if BLAS is available or else falls back to Java BLAS.
      Parameters:
        `m1` - lhs matrix block
        `m2` - rhs matrix block
        `ret` - output matrix block
        `k` - number of threads

    - #### matrixMult

          public static void matrixMult(MatrixBlock m1,
                                        MatrixBlock m2,
                                        MatrixBlock ret,
                                        int k,
                                        boolean examSparsity)

    - #### tsmm

          public static void tsmm(MatrixBlock m1,
                                  MatrixBlock ret,
                                  boolean leftTrans,
                                  int k)

    - #### conv2d

          public static void conv2d(MatrixBlock input,
                                    MatrixBlock filter,
                                    MatrixBlock outputBlock,
                                    DnnParameters params)

      This method performs convolution (i.e. cross-correlation) operation on input
      Parameters:
        `input` - input batch
        `filter` - filter
        `outputBlock` - output of convolution
        `params` - convolution parameters

    - #### conv2dBackwardFilter

          public static void conv2dBackwardFilter(MatrixBlock input,
                                                  MatrixBlock dout,
                                                  MatrixBlock outputBlock,
                                                  DnnParameters params)

      This method computes the backpropogation errors for filter of convolution operation
      Parameters:
        `input` - input image
        `dout` - errors from next layer
        `outputBlock` - output errors
        `params` - convolution parameters

    - #### conv2dBackwardData

          public static void conv2dBackwardData(MatrixBlock filter,
                                                MatrixBlock dout,
                                                MatrixBlock outputBlock,
                                                DnnParameters params)

      This method computes the backpropagation errors for previous layer of convolution operation
      Parameters:
        `filter` - filter used in conv2d
        `dout` - errors from next layer
        `outputBlock` - output errors
        `params` - convolution parameters

    - #### isSinglePrecision

          public static boolean isSinglePrecision()

    - #### fromFloatBuffer

          public static void fromFloatBuffer(FloatBuffer buff,
                                             double[] output)

Copyright © 2021 The Apache Software Foundation. All rights reserved.