org.apache.sysds.runtime.matrix.data

## Class DoublePrecisionCudaSupportFunctions

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

- All Implemented Interfaces:
    CudaSupportFunctions

      public class DoublePrecisionCudaSupportFunctions
      extends Object
      implements CudaSupportFunctions

- - ### Field Summary

    - ### Fields inherited from interface org.apache.sysds.runtime.matrix.data.CudaSupportFunctions

      `PERFORM_CONVERSION_ON_DEVICE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DoublePrecisionCudaSupportFunctions()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `cublasaxpy(jcuda.jcublas.cublasHandle handle, int n, jcuda.Pointer alpha, jcuda.Pointer x, int incx, jcuda.Pointer y, int incy)`
    `int` | `cublasdot(jcuda.jcublas.cublasHandle handle, int n, jcuda.Pointer x, int incx, jcuda.Pointer y, int incy, jcuda.Pointer result)`
    `int` | `cublasgeam(jcuda.jcublas.cublasHandle handle, int transa, int transb, int m, int n, jcuda.Pointer alpha, jcuda.Pointer A, int lda, jcuda.Pointer beta, jcuda.Pointer B, int ldb, jcuda.Pointer C, int ldc)`
    `int` | `cublasgemm(jcuda.jcublas.cublasHandle handle, int transa, int transb, int m, int n, int k, jcuda.Pointer alpha, jcuda.Pointer A, int lda, jcuda.Pointer B, int ldb, jcuda.Pointer beta, jcuda.Pointer C, int ldc)`
    `int` | `cublasgemv(jcuda.jcublas.cublasHandle handle, int trans, int m, int n, jcuda.Pointer alpha, jcuda.Pointer A, int lda, jcuda.Pointer x, int incx, jcuda.Pointer beta, jcuda.Pointer y, int incy)`
    `int` | `cublassyrk(jcuda.jcublas.cublasHandle handle, int uplo, int trans, int n, int k, jcuda.Pointer alpha, jcuda.Pointer A, int lda, jcuda.Pointer beta, jcuda.Pointer C, int ldc)`
    `int` | `cublastrsm(jcuda.jcublas.cublasHandle handle, int side, int uplo, int trans, int diag, int m, int n, jcuda.Pointer alpha, jcuda.Pointer A, int lda, jcuda.Pointer B, int ldb)`
    `int` | `cusolverDngeqrf_bufferSize(jcuda.jcusolver.cusolverDnHandle handle, int m, int n, jcuda.Pointer A, int lda, int[] Lwork)`
    `int` | `cusolverDngeqrf(jcuda.jcusolver.cusolverDnHandle handle, int m, int n, jcuda.Pointer A, int lda, jcuda.Pointer TAU, jcuda.Pointer Workspace, int Lwork, jcuda.Pointer devInfo)`
    `int` | `cusolverDnormqr(jcuda.jcusolver.cusolverDnHandle handle, int side, int trans, int m, int n, int k, jcuda.Pointer A, int lda, jcuda.Pointer tau, jcuda.Pointer C, int ldc, jcuda.Pointer work, int lwork, jcuda.Pointer devInfo)`
    `int` | `cusparsecsr2csc(jcuda.jcusparse.cusparseHandle handle, int m, int n, int nnz, jcuda.Pointer csrVal, jcuda.Pointer csrRowPtr, jcuda.Pointer csrColInd, jcuda.Pointer cscVal, jcuda.Pointer cscRowInd, jcuda.Pointer cscColPtr, int copyValues, int idxBase)`
    `int` | `cusparsecsr2dense(jcuda.jcusparse.cusparseHandle handle, int m, int n, jcuda.jcusparse.cusparseMatDescr descrA, jcuda.Pointer csrValA, jcuda.Pointer csrRowPtrA, jcuda.Pointer csrColIndA, jcuda.Pointer A, int lda)`
    `int` | `cusparsecsrgeam(jcuda.jcusparse.cusparseHandle handle, int m, int n, jcuda.Pointer alpha, jcuda.jcusparse.cusparseMatDescr descrA, int nnzA, jcuda.Pointer csrValA, jcuda.Pointer csrRowPtrA, jcuda.Pointer csrColIndA, jcuda.Pointer beta, jcuda.jcusparse.cusparseMatDescr descrB, int nnzB, jcuda.Pointer csrValB, jcuda.Pointer csrRowPtrB, jcuda.Pointer csrColIndB, jcuda.jcusparse.cusparseMatDescr descrC, jcuda.Pointer csrValC, jcuda.Pointer csrRowPtrC, jcuda.Pointer csrColIndC)`
    `int` | `cusparsecsrgemm(jcuda.jcusparse.cusparseHandle handle, int transA, int transB, int m, int n, int k, jcuda.jcusparse.cusparseMatDescr descrA, int nnzA, jcuda.Pointer csrValA, jcuda.Pointer csrRowPtrA, jcuda.Pointer csrColIndA, jcuda.jcusparse.cusparseMatDescr descrB, int nnzB, jcuda.Pointer csrValB, jcuda.Pointer csrRowPtrB, jcuda.Pointer csrColIndB, jcuda.jcusparse.cusparseMatDescr descrC, jcuda.Pointer csrValC, jcuda.Pointer csrRowPtrC, jcuda.Pointer csrColIndC)`
    `int` | `cusparsecsrmm2(jcuda.jcusparse.cusparseHandle handle, int transa, int transb, int m, int n, int k, int nnz, jcuda.Pointer alpha, jcuda.jcusparse.cusparseMatDescr descrA, jcuda.Pointer csrValA, jcuda.Pointer csrRowPtrA, jcuda.Pointer csrColIndA, jcuda.Pointer B, int ldb, jcuda.Pointer beta, jcuda.Pointer C, int ldc)`
    `int` | `cusparsecsrmv(jcuda.jcusparse.cusparseHandle handle, int transA, int m, int n, int nnz, jcuda.Pointer alpha, jcuda.jcusparse.cusparseMatDescr descrA, jcuda.Pointer csrValA, jcuda.Pointer csrRowPtrA, jcuda.Pointer csrColIndA, jcuda.Pointer x, jcuda.Pointer beta, jcuda.Pointer y)`
    `int` | `cusparsedense2csr(jcuda.jcusparse.cusparseHandle handle, int m, int n, jcuda.jcusparse.cusparseMatDescr descrA, jcuda.Pointer A, int lda, jcuda.Pointer nnzPerRow, jcuda.Pointer csrValA, jcuda.Pointer csrRowPtrA, jcuda.Pointer csrColIndA)`
    `int` | `cusparsennz(jcuda.jcusparse.cusparseHandle handle, int dirA, int m, int n, jcuda.jcusparse.cusparseMatDescr descrA, jcuda.Pointer A, int lda, jcuda.Pointer nnzPerRowCol, jcuda.Pointer nnzTotalDevHostPtr)`
    `void` | `deviceToHost(GPUContext gCtx, jcuda.Pointer src, double[] dest, String instName, boolean isEviction)`
    `void` | `hostToDevice(GPUContext gCtx, double[] src, jcuda.Pointer dest, String instName)`

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

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

- - ### Constructor Detail

    - #### DoublePrecisionCudaSupportFunctions

          public DoublePrecisionCudaSupportFunctions()

  - ### Method Detail

    - #### cusparsecsrgemm

          public int cusparsecsrgemm(jcuda.jcusparse.cusparseHandle handle,
                                     int transA,
                                     int transB,
                                     int m,
                                     int n,
                                     int k,
                                     jcuda.jcusparse.cusparseMatDescr descrA,
                                     int nnzA,
                                     jcuda.Pointer csrValA,
                                     jcuda.Pointer csrRowPtrA,
                                     jcuda.Pointer csrColIndA,
                                     jcuda.jcusparse.cusparseMatDescr descrB,
                                     int nnzB,
                                     jcuda.Pointer csrValB,
                                     jcuda.Pointer csrRowPtrB,
                                     jcuda.Pointer csrColIndB,
                                     jcuda.jcusparse.cusparseMatDescr descrC,
                                     jcuda.Pointer csrValC,
                                     jcuda.Pointer csrRowPtrC,
                                     jcuda.Pointer csrColIndC)

      Specified by:
        `cusparsecsrgemm` in interface `CudaSupportFunctions`

    - #### cublasgeam

          public int cublasgeam(jcuda.jcublas.cublasHandle handle,
                                int transa,
                                int transb,
                                int m,
                                int n,
                                jcuda.Pointer alpha,
                                jcuda.Pointer A,
                                int lda,
                                jcuda.Pointer beta,
                                jcuda.Pointer B,
                                int ldb,
                                jcuda.Pointer C,
                                int ldc)

      Specified by:
        `cublasgeam` in interface `CudaSupportFunctions`

    - #### cusparsecsrmv

          public int cusparsecsrmv(jcuda.jcusparse.cusparseHandle handle,
                                   int transA,
                                   int m,
                                   int n,
                                   int nnz,
                                   jcuda.Pointer alpha,
                                   jcuda.jcusparse.cusparseMatDescr descrA,
                                   jcuda.Pointer csrValA,
                                   jcuda.Pointer csrRowPtrA,
                                   jcuda.Pointer csrColIndA,
                                   jcuda.Pointer x,
                                   jcuda.Pointer beta,
                                   jcuda.Pointer y)

      Specified by:
        `cusparsecsrmv` in interface `CudaSupportFunctions`

    - #### cusparsecsrmm2

          public int cusparsecsrmm2(jcuda.jcusparse.cusparseHandle handle,
                                    int transa,
                                    int transb,
                                    int m,
                                    int n,
                                    int k,
                                    int nnz,
                                    jcuda.Pointer alpha,
                                    jcuda.jcusparse.cusparseMatDescr descrA,
                                    jcuda.Pointer csrValA,
                                    jcuda.Pointer csrRowPtrA,
                                    jcuda.Pointer csrColIndA,
                                    jcuda.Pointer B,
                                    int ldb,
                                    jcuda.Pointer beta,
                                    jcuda.Pointer C,
                                    int ldc)

      Specified by:
        `cusparsecsrmm2` in interface `CudaSupportFunctions`

    - #### cublasdot

          public int cublasdot(jcuda.jcublas.cublasHandle handle,
                               int n,
                               jcuda.Pointer x,
                               int incx,
                               jcuda.Pointer y,
                               int incy,
                               jcuda.Pointer result)

      Specified by:
        `cublasdot` in interface `CudaSupportFunctions`

    - #### cublasgemv

          public int cublasgemv(jcuda.jcublas.cublasHandle handle,
                                int trans,
                                int m,
                                int n,
                                jcuda.Pointer alpha,
                                jcuda.Pointer A,
                                int lda,
                                jcuda.Pointer x,
                                int incx,
                                jcuda.Pointer beta,
                                jcuda.Pointer y,
                                int incy)

      Specified by:
        `cublasgemv` in interface `CudaSupportFunctions`

    - #### cublasgemm

          public int cublasgemm(jcuda.jcublas.cublasHandle handle,
                                int transa,
                                int transb,
                                int m,
                                int n,
                                int k,
                                jcuda.Pointer alpha,
                                jcuda.Pointer A,
                                int lda,
                                jcuda.Pointer B,
                                int ldb,
                                jcuda.Pointer beta,
                                jcuda.Pointer C,
                                int ldc)

      Specified by:
        `cublasgemm` in interface `CudaSupportFunctions`

    - #### cusparsecsr2csc

          public int cusparsecsr2csc(jcuda.jcusparse.cusparseHandle handle,
                                     int m,
                                     int n,
                                     int nnz,
                                     jcuda.Pointer csrVal,
                                     jcuda.Pointer csrRowPtr,
                                     jcuda.Pointer csrColInd,
                                     jcuda.Pointer cscVal,
                                     jcuda.Pointer cscRowInd,
                                     jcuda.Pointer cscColPtr,
                                     int copyValues,
                                     int idxBase)

      Specified by:
        `cusparsecsr2csc` in interface `CudaSupportFunctions`

    - #### cublassyrk

          public int cublassyrk(jcuda.jcublas.cublasHandle handle,
                                int uplo,
                                int trans,
                                int n,
                                int k,
                                jcuda.Pointer alpha,
                                jcuda.Pointer A,
                                int lda,
                                jcuda.Pointer beta,
                                jcuda.Pointer C,
                                int ldc)

      Specified by:
        `cublassyrk` in interface `CudaSupportFunctions`

    - #### cublasaxpy

          public int cublasaxpy(jcuda.jcublas.cublasHandle handle,
                                int n,
                                jcuda.Pointer alpha,
                                jcuda.Pointer x,
                                int incx,
                                jcuda.Pointer y,
                                int incy)

      Specified by:
        `cublasaxpy` in interface `CudaSupportFunctions`

    - #### cublastrsm

          public int cublastrsm(jcuda.jcublas.cublasHandle handle,
                                int side,
                                int uplo,
                                int trans,
                                int diag,
                                int m,
                                int n,
                                jcuda.Pointer alpha,
                                jcuda.Pointer A,
                                int lda,
                                jcuda.Pointer B,
                                int ldb)

      Specified by:
        `cublastrsm` in interface `CudaSupportFunctions`

    - #### cusolverDngeqrf_bufferSize

          public int cusolverDngeqrf_bufferSize(jcuda.jcusolver.cusolverDnHandle handle,
                                                int m,
                                                int n,
                                                jcuda.Pointer A,
                                                int lda,
                                                int[] Lwork)

      Specified by:
        `cusolverDngeqrf_bufferSize` in interface `CudaSupportFunctions`

    - #### cusolverDngeqrf

          public int cusolverDngeqrf(jcuda.jcusolver.cusolverDnHandle handle,
                                     int m,
                                     int n,
                                     jcuda.Pointer A,
                                     int lda,
                                     jcuda.Pointer TAU,
                                     jcuda.Pointer Workspace,
                                     int Lwork,
                                     jcuda.Pointer devInfo)

      Specified by:
        `cusolverDngeqrf` in interface `CudaSupportFunctions`

    - #### cusolverDnormqr

          public int cusolverDnormqr(jcuda.jcusolver.cusolverDnHandle handle,
                                     int side,
                                     int trans,
                                     int m,
                                     int n,
                                     int k,
                                     jcuda.Pointer A,
                                     int lda,
                                     jcuda.Pointer tau,
                                     jcuda.Pointer C,
                                     int ldc,
                                     jcuda.Pointer work,
                                     int lwork,
                                     jcuda.Pointer devInfo)

      Specified by:
        `cusolverDnormqr` in interface `CudaSupportFunctions`

    - #### cusparsecsrgeam

          public int cusparsecsrgeam(jcuda.jcusparse.cusparseHandle handle,
                                     int m,
                                     int n,
                                     jcuda.Pointer alpha,
                                     jcuda.jcusparse.cusparseMatDescr descrA,
                                     int nnzA,
                                     jcuda.Pointer csrValA,
                                     jcuda.Pointer csrRowPtrA,
                                     jcuda.Pointer csrColIndA,
                                     jcuda.Pointer beta,
                                     jcuda.jcusparse.cusparseMatDescr descrB,
                                     int nnzB,
                                     jcuda.Pointer csrValB,
                                     jcuda.Pointer csrRowPtrB,
                                     jcuda.Pointer csrColIndB,
                                     jcuda.jcusparse.cusparseMatDescr descrC,
                                     jcuda.Pointer csrValC,
                                     jcuda.Pointer csrRowPtrC,
                                     jcuda.Pointer csrColIndC)

      Specified by:
        `cusparsecsrgeam` in interface `CudaSupportFunctions`

    - #### cusparsecsr2dense

          public int cusparsecsr2dense(jcuda.jcusparse.cusparseHandle handle,
                                       int m,
                                       int n,
                                       jcuda.jcusparse.cusparseMatDescr descrA,
                                       jcuda.Pointer csrValA,
                                       jcuda.Pointer csrRowPtrA,
                                       jcuda.Pointer csrColIndA,
                                       jcuda.Pointer A,
                                       int lda)

      Specified by:
        `cusparsecsr2dense` in interface `CudaSupportFunctions`

    - #### cusparsedense2csr

          public int cusparsedense2csr(jcuda.jcusparse.cusparseHandle handle,
                                       int m,
                                       int n,
                                       jcuda.jcusparse.cusparseMatDescr descrA,
                                       jcuda.Pointer A,
                                       int lda,
                                       jcuda.Pointer nnzPerRow,
                                       jcuda.Pointer csrValA,
                                       jcuda.Pointer csrRowPtrA,
                                       jcuda.Pointer csrColIndA)

      Specified by:
        `cusparsedense2csr` in interface `CudaSupportFunctions`

    - #### cusparsennz

          public int cusparsennz(jcuda.jcusparse.cusparseHandle handle,
                                 int dirA,
                                 int m,
                                 int n,
                                 jcuda.jcusparse.cusparseMatDescr descrA,
                                 jcuda.Pointer A,
                                 int lda,
                                 jcuda.Pointer nnzPerRowCol,
                                 jcuda.Pointer nnzTotalDevHostPtr)

      Specified by:
        `cusparsennz` in interface `CudaSupportFunctions`

    - #### deviceToHost

          public void deviceToHost(GPUContext gCtx,
                                   jcuda.Pointer src,
                                   double[] dest,
                                   String instName,
                                   boolean isEviction)

      Specified by:
        `deviceToHost` in interface `CudaSupportFunctions`

    - #### hostToDevice

          public void hostToDevice(GPUContext gCtx,
                                   double[] src,
                                   jcuda.Pointer dest,
                                   String instName)

      Specified by:
        `hostToDevice` in interface `CudaSupportFunctions`

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