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.LibMatrixCUDA
cudaSupportFunctions, customKernelSuffix, sizeOfDataType
-
-
Constructor Summary
Constructors Constructor Description LibMatrixCuMatMult()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description 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);-
Methods inherited from class org.apache.sysds.runtime.matrix.data.LibMatrixCUDA
abs, 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
-
matmult
public 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
- CurrentExecutionContext
instancegCtx
- a validGPUContext
instName
- name of the invoking instruction to recordStatistics
.left
- Matrix Aright
- Matrix BoutputName
- Name of the output matrix C (in code generated after LOP layer)isLeftTransposed
- op for A, transposed or notisRightTransposed
- op for B, tranposed or not- Returns:
- output of matrix multiply
-
-