Class LibMatrixCuMatMult
- java.lang.Object
- 
- org.apache.sysds.runtime.matrix.data.LibMatrixCUDA
- 
- org.apache.sysds.runtime.matrix.data.LibMatrixCuMatMult
 
 
- 
 public class LibMatrixCuMatMult extends LibMatrixCUDA 
- 
- 
Field Summary- 
Fields inherited from class org.apache.sysds.runtime.matrix.data.LibMatrixCUDAcudaSupportFunctions, customKernelSuffix, sizeOfDataType
 
- 
 - 
Constructor SummaryConstructors Constructor Description LibMatrixCuMatMult()
 - 
Method SummaryAll Methods Static Methods Concrete Methods Modifier and Type Method Description static MatrixObjectmatmult(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject left, MatrixObject right, String outputName, boolean isLeftTransposed, boolean isRightTransposed)Matrix multiply on GPU Examines sparsity and shapes and routes call to appropriate method from cuBLAS or cuSparse C = op(A) x op(B) The user is expected to call ec.releaseMatrixOutputForGPUInstruction(outputName);- 
Methods inherited from class org.apache.sysds.runtime.matrix.data.LibMatrixCUDAabs, acos, asin, atan, axpy, biasAdd, biasMultiply, cbind, ceil, channelSums, computeNNZ, cos, cosh, cumulativeScan, cumulativeSumProduct, denseTranspose, deviceCopy, double2float, exp, float2double, floor, getCudaKernels, getDenseMatrixOutputForGPUInstruction, getDenseMatrixOutputForGPUInstruction, getDensePointer, getNnz, isInSparseFormat, log, matmultTSMM, matrixMatrixArithmetic, matrixMatrixRelational, matrixScalarArithmetic, matrixScalarOp, matrixScalarRelational, one, rbind, reluBackward, resetFloatingPointPrecision, round, sigmoid, sign, sin, sinh, sliceOperations, solve, sqrt, tan, tanh, toInt, transpose, unaryAggregate, zero
 
- 
 
- 
- 
- 
Method Detail- 
matmultpublic static MatrixObject matmult(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject left, MatrixObject right, String outputName, boolean isLeftTransposed, boolean isRightTransposed) Matrix multiply on GPU Examines sparsity and shapes and routes call to appropriate method from cuBLAS or cuSparse C = op(A) x op(B) The user is expected to call ec.releaseMatrixOutputForGPUInstruction(outputName);- Parameters:
- ec- Current- ExecutionContextinstance
- gCtx- a valid- GPUContext
- instName- name of the invoking instruction to record- Statistics.
- left- Matrix A
- right- Matrix B
- outputName- Name of the output matrix C (in code generated after LOP layer)
- isLeftTransposed- op for A, transposed or not
- isRightTransposed- op for B, tranposed or not
- Returns:
- output of matrix multiply
 
 
- 
 
-