Modifier and Type | Method and Description |
---|---|
static MatrixObject |
MLContextConversionUtil.binaryBlocksToMatrixObject(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,MatrixBlock> binaryBlocks)
Convert a
JavaPairRDD<MatrixIndexes, MatrixBlock> to a
MatrixObject . |
static MatrixObject |
MLContextConversionUtil.binaryBlocksToMatrixObject(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,MatrixBlock> binaryBlocks,
MatrixMetadata matrixMetadata)
Convert a
JavaPairRDD<MatrixIndexes, MatrixBlock> to a
MatrixObject . |
static MatrixObject |
MLContextConversionUtil.dataFrameToMatrixObject(org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> dataFrame)
Convert a
DataFrame to a MatrixObject . |
static MatrixObject |
MLContextConversionUtil.dataFrameToMatrixObject(org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> dataFrame,
MatrixMetadata matrixMetadata)
Convert a
DataFrame to a MatrixObject . |
static MatrixObject |
MLContextConversionUtil.doubleMatrixToMatrixObject(String variableName,
double[][] doubleMatrix)
Convert a two-dimensional double array to a
MatrixObject . |
static MatrixObject |
MLContextConversionUtil.doubleMatrixToMatrixObject(String variableName,
double[][] doubleMatrix,
MatrixMetadata matrixMetadata)
Convert a two-dimensional double array to a
MatrixObject . |
MatrixObject |
MLResults.getMatrixObject(String outputName)
Obtain an output as a
MatrixObject |
static MatrixObject |
MLContextConversionUtil.javaRDDStringCSVToMatrixObject(org.apache.spark.api.java.JavaRDD<String> javaRDD)
Convert a
JavaRDD<String> in CSV format to a MatrixObject |
static MatrixObject |
MLContextConversionUtil.javaRDDStringCSVToMatrixObject(org.apache.spark.api.java.JavaRDD<String> javaRDD,
MatrixMetadata matrixMetadata)
Convert a
JavaRDD<String> in CSV format to a MatrixObject |
static MatrixObject |
MLContextConversionUtil.javaRDDStringIJVToMatrixObject(org.apache.spark.api.java.JavaRDD<String> javaRDD,
MatrixMetadata matrixMetadata)
Convert a
JavaRDD<String> in IJV format to a MatrixObject
. |
static MatrixObject |
MLContextConversionUtil.matrixBlockToMatrixObject(String variableName,
MatrixBlock matrixBlock,
MatrixMetadata matrixMetadata)
Convert a
MatrixBlock to a MatrixObject . |
static MatrixObject |
MLContextConversionUtil.rddStringCSVToMatrixObject(org.apache.spark.rdd.RDD<String> rdd)
Convert a
RDD<String> in CSV format to a MatrixObject |
static MatrixObject |
MLContextConversionUtil.rddStringCSVToMatrixObject(org.apache.spark.rdd.RDD<String> rdd,
MatrixMetadata matrixMetadata)
Convert a
RDD<String> in CSV format to a MatrixObject |
static MatrixObject |
MLContextConversionUtil.rddStringIJVToMatrixObject(org.apache.spark.rdd.RDD<String> rdd,
MatrixMetadata matrixMetadata)
Convert a
RDD<String> in IJV format to a MatrixObject . |
MatrixObject |
Matrix.toMatrixObject()
Obtain the matrix as a SystemDS MatrixObject.
|
static MatrixObject |
MLContextConversionUtil.urlToMatrixObject(URL url,
MatrixMetadata matrixMetadata)
Convert a matrix at a URL to a
MatrixObject . |
Modifier and Type | Method and Description |
---|---|
static double[][] |
MLContextConversionUtil.matrixObjectTo2DDoubleArray(MatrixObject matrixObject)
Convert a
MatrixObject to a two-dimensional double array. |
static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,MatrixBlock> |
MLContextConversionUtil.matrixObjectToBinaryBlocks(MatrixObject matrixObject,
SparkExecutionContext sparkExecutionContext)
Convert a
MatrixObject to a
JavaPairRDD<MatrixIndexes, MatrixBlock> . |
static org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> |
MLContextConversionUtil.matrixObjectToDataFrame(MatrixObject matrixObject,
SparkExecutionContext sparkExecutionContext,
boolean isVectorDF)
Convert a
MatrixObject to a DataFrame . |
static org.apache.spark.api.java.JavaRDD<String> |
MLContextConversionUtil.matrixObjectToJavaRDDStringCSV(MatrixObject matrixObject)
Convert a
MatrixObject to a JavaRDD<String> in CSV
format. |
static org.apache.spark.api.java.JavaRDD<String> |
MLContextConversionUtil.matrixObjectToJavaRDDStringIJV(MatrixObject matrixObject)
Convert a
MatrixObject to a JavaRDD<String> in IJV
format. |
static List<String> |
MLContextConversionUtil.matrixObjectToListStringCSV(MatrixObject matrixObject)
Convert a
MatrixObject to a List<String> in CSV format. |
static List<String> |
MLContextConversionUtil.matrixObjectToListStringIJV(MatrixObject matrixObject)
Convert a
MatrixObject to a List<String> in IJV format. |
static org.apache.spark.rdd.RDD<String> |
MLContextConversionUtil.matrixObjectToRDDStringCSV(MatrixObject matrixObject)
Convert a
MatrixObject to a RDD<String> in CSV format. |
static org.apache.spark.rdd.RDD<String> |
MLContextConversionUtil.matrixObjectToRDDStringIJV(MatrixObject matrixObject)
Convert a
MatrixObject to a RDD<String> in IJV format. |
Constructor and Description |
---|
Matrix(MatrixObject matrixObject,
SparkExecutionContext sparkExecutionContext) |
Modifier and Type | Method and Description |
---|---|
static void |
HopRewriteUtils.copyLineNumbers(MatrixObject mo,
Hop tread) |
static DataOp |
HopRewriteUtils.createTransientRead(String name,
MatrixObject mo) |
Constructor and Description |
---|
MatrixObject(MatrixObject mo)
Copy constructor that copies meta data but NO data.
|
Modifier and Type | Method and Description |
---|---|
MatrixObject |
ExecutionContext.allocateGPUMatrixObject(String varName,
long numRows,
long numCols)
Allocates the
GPUObject for a given LOPS Variable (eg. |
static MatrixObject |
ExecutionContext.createMatrixObject(MatrixBlock mb) |
MatrixObject |
ExecutionContext.getMatrixInputForGPUInstruction(String varName,
String opcode) |
MatrixObject |
ExecutionContext.getMatrixObject(CPOperand input) |
MatrixObject |
ExecutionContext.getMatrixObject(String varname) |
Modifier and Type | Method and Description |
---|---|
Pair<MatrixObject,Boolean> |
ExecutionContext.getDenseMatrixOutputForGPUInstruction(String varName,
long numRows,
long numCols)
Allocates a dense matrix on the GPU (for output)
|
Pair<MatrixObject,Boolean> |
ExecutionContext.getSparseMatrixOutputForGPUInstruction(String varName,
long numRows,
long numCols,
long nnz)
Allocates a sparse matrix in CSR format on the GPU.
|
Modifier and Type | Method and Description |
---|---|
PartitionedBroadcast<MatrixBlock> |
SparkExecutionContext.getBroadcastForMatrixObject(MatrixObject mo) |
org.apache.spark.api.java.JavaPairRDD<?,?> |
SparkExecutionContext.getRDDHandleForMatrixObject(MatrixObject mo,
Types.FileFormat fmt) |
org.apache.spark.api.java.JavaPairRDD<?,?> |
SparkExecutionContext.getRDDHandleForMatrixObject(MatrixObject mo,
Types.FileFormat fmt,
int numParts,
boolean inclEmpty) |
Modifier and Type | Method and Description |
---|---|
static MatrixObject |
ParamservUtils.createShallowCopy(MatrixObject mo) |
MatrixObject |
PSWorker.getFeatures() |
MatrixObject |
PSWorker.getLabels() |
static MatrixObject |
ParamservUtils.newMatrixObject(MatrixBlock mb) |
static MatrixObject |
ParamservUtils.newMatrixObject(MatrixBlock mb,
boolean cleanup) |
static MatrixObject |
ParamservUtils.sliceMatrix(MatrixObject mo,
long rl,
long rh)
Slice the matrix
|
Modifier and Type | Method and Description |
---|---|
static MatrixObject |
ParamservUtils.createShallowCopy(MatrixObject mo) |
static org.apache.spark.api.java.JavaPairRDD<Integer,scala.Tuple2<MatrixBlock,MatrixBlock>> |
ParamservUtils.doPartitionOnSpark(SparkExecutionContext sec,
MatrixObject features,
MatrixObject labels,
Statement.PSScheme scheme,
int workerNum) |
void |
PSWorker.setFeatures(MatrixObject features) |
void |
PSWorker.setLabels(MatrixObject labels) |
static MatrixObject |
ParamservUtils.sliceMatrix(MatrixObject mo,
long rl,
long rh)
Slice the matrix
|
Modifier and Type | Field and Description |
---|---|
List<MatrixObject> |
DataPartitionLocalScheme.Result.pFeatures |
List<MatrixObject> |
DataPartitionLocalScheme.Result.pLabels |
Constructor and Description |
---|
Result(List<MatrixObject> pFeatures,
List<MatrixObject> pLabels) |
Result(List<MatrixObject> pFeatures,
List<MatrixObject> pLabels) |
Modifier and Type | Method and Description |
---|---|
MatrixObject |
DataPartitioner.createPartitionedMatrixObject(MatrixObject in,
MatrixObject out,
boolean force)
Creates a partitioned matrix object based on the given input matrix object,
according to the specified split format.
|
MatrixObject |
DataPartitioner.createPartitionedMatrixObject(MatrixObject in,
String fnameNew) |
MatrixObject |
DataPartitioner.createPartitionedMatrixObject(MatrixObject in,
String fnameNew,
boolean force) |
MatrixObject |
ResultMergeRemoteSparkWCompare.executeParallelMerge(int par) |
MatrixObject |
ResultMergeRemoteSpark.executeParallelMerge(int par) |
MatrixObject |
ResultMergeLocalAutomatic.executeParallelMerge(int par) |
abstract MatrixObject |
ResultMerge.executeParallelMerge(int par)
Merge all given input matrices in parallel into the given output matrix.
|
MatrixObject |
ResultMergeLocalFile.executeParallelMerge(int par) |
MatrixObject |
ResultMergeLocalMemory.executeParallelMerge(int par) |
MatrixObject |
ResultMergeRemoteSparkWCompare.executeSerialMerge() |
MatrixObject |
ResultMergeRemoteSpark.executeSerialMerge() |
MatrixObject |
ResultMergeLocalAutomatic.executeSerialMerge() |
abstract MatrixObject |
ResultMerge.executeSerialMerge()
Merge all given input matrices sequentially into the given output matrix.
|
MatrixObject |
ResultMergeLocalFile.executeSerialMerge() |
MatrixObject |
ResultMergeLocalMemory.executeSerialMerge() |
Modifier and Type | Method and Description |
---|---|
MatrixObject |
DataPartitioner.createPartitionedMatrixObject(MatrixObject in,
MatrixObject out,
boolean force)
Creates a partitioned matrix object based on the given input matrix object,
according to the specified split format.
|
MatrixObject |
DataPartitioner.createPartitionedMatrixObject(MatrixObject in,
String fnameNew) |
MatrixObject |
DataPartitioner.createPartitionedMatrixObject(MatrixObject in,
String fnameNew,
boolean force) |
static RemoteParForJobReturn |
RemoteDPParForSpark.runJob(long pfid,
String itervar,
String matrixvar,
String program,
HashMap<String,byte[]> clsMap,
String resultFile,
MatrixObject input,
ExecutionContext ec,
ParForProgramBlock.PartitionFormat dpf,
Types.FileFormat fmt,
boolean tSparseCol,
boolean enableCPCaching,
int numReducers) |
Constructor and Description |
---|
ResultMerge(MatrixObject out,
MatrixObject[] in,
String outputFilename,
boolean accum) |
ResultMerge(MatrixObject out,
MatrixObject[] in,
String outputFilename,
boolean accum) |
ResultMergeLocalAutomatic(MatrixObject out,
MatrixObject[] in,
String outputFilename,
boolean accum) |
ResultMergeLocalAutomatic(MatrixObject out,
MatrixObject[] in,
String outputFilename,
boolean accum) |
ResultMergeLocalFile(MatrixObject out,
MatrixObject[] in,
String outputFilename,
boolean accum) |
ResultMergeLocalFile(MatrixObject out,
MatrixObject[] in,
String outputFilename,
boolean accum) |
ResultMergeLocalMemory(MatrixObject out,
MatrixObject[] in,
String outputFilename,
boolean accum) |
ResultMergeLocalMemory(MatrixObject out,
MatrixObject[] in,
String outputFilename,
boolean accum) |
ResultMergeRemoteSpark(MatrixObject out,
MatrixObject[] in,
String outputFilename,
boolean accum,
ExecutionContext ec,
int numMappers,
int numReducers) |
ResultMergeRemoteSpark(MatrixObject out,
MatrixObject[] in,
String outputFilename,
boolean accum,
ExecutionContext ec,
int numMappers,
int numReducers) |
Modifier and Type | Method and Description |
---|---|
static boolean |
OptimizerRuleBased.allowsBinaryCellPartitions(MatrixObject mo,
ParForProgramBlock.PartitionFormat dpf) |
Modifier and Type | Method and Description |
---|---|
static void |
MultiReturnParameterizedBuiltinFEDInstruction.encodeFederatedFrames(FederationMap fedMapping,
Encoder globalEncoder,
MatrixObject transformedMat) |
void |
InitFEDInstruction.federateMatrix(MatrixObject output,
List<org.apache.commons.lang3.tuple.Pair<FederatedRange,FederatedData>> workers) |
Modifier and Type | Method and Description |
---|---|
GPUObject |
GPUContext.createGPUObject(MatrixObject mo)
Instantiates a new
GPUObject initialized with the given MatrixObject . |
Modifier and Type | Method and Description |
---|---|
static MatrixObject |
LibMatrixCUDA.getDenseMatrixOutputForGPUInstruction(ExecutionContext ec,
String instName,
String name,
long numRows,
long numCols)
Helper method to get the output block (allocated on the GPU)
Also records performance information into
Statistics |
static MatrixObject |
LibMatrixCuMatMult.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);
|
Modifier and Type | Method and Description |
---|---|
static void |
LibMatrixCUDA.abs(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "abs" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.acos(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "acos" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.asin(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "asin" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.atan(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "atan" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.axpy(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
MatrixObject in2,
String outputName,
double constant)
Performs daxpy operation
|
static void |
LibMatrixCuDNN.batchNormalizationBackward(GPUContext gCtx,
String instName,
MatrixObject image,
MatrixObject dout,
MatrixObject scale,
MatrixObject dX,
MatrixObject dScale,
MatrixObject dBias,
double epsilon,
MatrixObject resultSaveMean,
MatrixObject resultSaveInvVariance)
This method computes the backpropagation errors for image, scale and bias of batch normalization layer
|
static void |
LibMatrixCuDNN.batchNormalizationForwardInference(GPUContext gCtx,
String instName,
MatrixObject image,
MatrixObject scale,
MatrixObject bias,
MatrixObject runningMean,
MatrixObject runningVar,
MatrixObject ret,
double epsilon)
Performs the forward BatchNormalization layer computation for inference
|
static void |
LibMatrixCuDNN.batchNormalizationForwardTraining(GPUContext gCtx,
String instName,
MatrixObject image,
MatrixObject scale,
MatrixObject bias,
MatrixObject runningMean,
MatrixObject runningVar,
MatrixObject ret,
MatrixObject retRunningMean,
MatrixObject retRunningVar,
double epsilon,
double exponentialAverageFactor,
MatrixObject resultSaveMean,
MatrixObject resultSaveInvVariance)
Performs the forward BatchNormalization layer computation for training
|
static void |
LibMatrixCUDA.biasAdd(GPUContext gCtx,
String instName,
MatrixObject input,
MatrixObject bias,
MatrixObject outputBlock)
Performs the operation corresponding to the DML script:
ones = matrix(1, rows=1, cols=Hout*Wout)
output = input + matrix(bias %*% ones, rows=1, cols=F*Hout*Wout)
This operation is often followed by conv2d and hence we have introduced bias_add(input, bias) built-in function
|
static void |
LibMatrixCUDA.biasMultiply(GPUContext gCtx,
String instName,
MatrixObject input,
MatrixObject bias,
MatrixObject outputBlock)
Performs the operation corresponding to the DML script:
ones = matrix(1, rows=1, cols=Hout*Wout)
output = input * matrix(bias %*% ones, rows=1, cols=F*Hout*Wout)
This operation is often followed by conv2d and hence we have introduced bias_add(input, bias) built-in function
|
static void |
LibMatrixCUDA.cbind(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
MatrixObject in2,
String outputName) |
static void |
LibMatrixCUDA.ceil(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "ceil" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.channelSums(GPUContext gCtx,
String instName,
MatrixObject input,
MatrixObject outputBlock,
long C,
long HW)
Perform channel_sums operations: out = rowSums(matrix(colSums(A), rows=C, cols=HW))
|
static void |
LibMatrixCuDNN.conv2d(GPUContext gCtx,
String instName,
MatrixObject image,
MatrixObject filter,
MatrixObject outputBlock,
int N,
int C,
int H,
int W,
int K,
int R,
int S,
int pad_h,
int pad_w,
int stride_h,
int stride_w,
int P,
int Q,
double intermediateMemoryBudget)
Performs a 2D convolution
|
static void |
LibMatrixCuDNN.conv2dBackwardData(GPUContext gCtx,
String instName,
MatrixObject filter,
MatrixObject dout,
MatrixObject output,
int N,
int C,
int H,
int W,
int K,
int R,
int S,
int pad_h,
int pad_w,
int stride_h,
int stride_w,
int P,
int Q,
double intermediateMemoryBudget)
This method computes the backpropogation errors for previous layer of convolution operation
|
static void |
LibMatrixCuDNN.conv2dBackwardFilter(GPUContext gCtx,
String instName,
MatrixObject image,
MatrixObject dout,
MatrixObject outputBlock,
int N,
int C,
int H,
int W,
int K,
int R,
int S,
int pad_h,
int pad_w,
int stride_h,
int stride_w,
int P,
int Q,
double intermediateMemoryBudget)
This method computes the backpropogation errors for filter of convolution operation
|
static void |
LibMatrixCuDNN.conv2dBiasAdd(GPUContext gCtx,
String instName,
MatrixObject image,
MatrixObject bias,
MatrixObject filter,
MatrixObject output,
int N,
int C,
int H,
int W,
int K,
int R,
int S,
int pad_h,
int pad_w,
int stride_h,
int stride_w,
int P,
int Q,
double intermediateMemoryBudget)
Does a 2D convolution followed by a bias_add
|
static void |
LibMatrixCUDA.cos(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "cos" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.cosh(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "cosh" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.cumulativeScan(ExecutionContext ec,
GPUContext gCtx,
String instName,
String kernelFunction,
MatrixObject in,
String outputName)
Cumulative scan
|
static void |
LibMatrixCUDA.cumulativeSumProduct(ExecutionContext ec,
GPUContext gCtx,
String instName,
String kernelFunction,
MatrixObject in,
String outputName)
Cumulative sum-product kernel cascade invokation
|
static void |
LibMatrixCUDA.exp(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "exp" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.floor(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "floor" operation on a matrix on the GPU
|
static jcuda.Pointer |
LibMatrixCUDA.getDensePointer(GPUContext gCtx,
MatrixObject input,
String instName)
Convenience method to get jcudaDenseMatrixPtr.
|
static jcuda.Pointer |
LibMatrixCuDNN.getDensePointerForCuDNN(GPUContext gCtx,
MatrixObject image,
String instName,
int numRows,
int numCols)
Convenience method to get jcudaDenseMatrixPtr.
|
static long |
LibMatrixCUDA.getNnz(GPUContext gCtx,
String instName,
MatrixObject mo,
boolean recomputeDenseNNZ)
Note: if the matrix is in dense format, it explicitly re-computes the number of nonzeros.
|
static boolean |
LibMatrixCUDA.isInSparseFormat(GPUContext gCtx,
MatrixObject mo) |
static void |
LibMatrixCUDA.log(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "log" operation on a matrix on the GPU
|
static MatrixObject |
LibMatrixCuMatMult.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);
|
static void |
LibMatrixCUDA.matmultTSMM(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject left,
String outputName,
boolean isLeftTransposed)
Performs tsmm, A %*% A' or A' %*% A, on GPU by exploiting cublasDsyrk(...)
|
static void |
LibMatrixCUDA.matrixMatrixArithmetic(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
MatrixObject in2,
String outputName,
boolean isLeftTransposed,
boolean isRightTransposed,
BinaryOperator op)
Performs elementwise arithmetic operation specified by op of two input matrices in1 and in2
|
static void |
LibMatrixCUDA.matrixMatrixRelational(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
MatrixObject in2,
String outputName,
BinaryOperator op)
Performs elementwise operation relational specified by op of two input matrices in1 and in2
|
static void |
LibMatrixCUDA.matrixScalarArithmetic(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in,
String outputName,
boolean isInputTransposed,
ScalarOperator op)
Entry point to perform elementwise matrix-scalar arithmetic operation specified by op
|
static void |
LibMatrixCUDA.matrixScalarOp(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in,
String outputName,
boolean isInputTransposed,
ScalarOperator op)
Utility to do matrix-scalar operation kernel
|
static void |
LibMatrixCUDA.matrixScalarRelational(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in,
String outputName,
ScalarOperator op)
Entry point to perform elementwise matrix-scalar relational operation specified by op
|
static void |
LibMatrixCuDNN.pooling(GPUContext gCtx,
String instName,
MatrixObject image,
MatrixObject outputBlock,
int N,
int C,
int H,
int W,
int K,
int R,
int S,
int pad_h,
int pad_w,
int stride_h,
int stride_w,
int P,
int Q,
LibMatrixDNN.PoolingType poolingType,
double intermediateMemoryBudget)
performs maxpooling on GPU by exploiting cudnnPoolingForward(...)
|
static void |
LibMatrixCuDNN.poolingBackward(GPUContext gCtx,
String instName,
MatrixObject image,
MatrixObject dout,
MatrixObject maxpoolOutput,
MatrixObject outputBlock,
int N,
int C,
int H,
int W,
int K,
int R,
int S,
int pad_h,
int pad_w,
int stride_h,
int stride_w,
int P,
int Q,
LibMatrixDNN.PoolingType poolingType,
double intermediateMemoryBudget)
Performs maxpoolingBackward on GPU by exploiting cudnnPoolingBackward(...)
This method computes the backpropogation errors for previous layer of maxpooling operation
|
static void |
LibMatrixCUDA.rbind(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
MatrixObject in2,
String outputName) |
static void |
LibMatrixCuDNN.relu(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in,
String outputName)
Performs the relu operation on the GPU.
|
static void |
LibMatrixCUDA.reluBackward(GPUContext gCtx,
String instName,
MatrixObject input,
MatrixObject dout,
MatrixObject outputBlock)
This method computes the backpropagation errors for previous layer of relu operation
|
static void |
LibMatrixCUDA.round(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "round" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.sigmoid(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "sigmoid" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.sign(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "sign" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.sin(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "sin" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.sinh(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "sinh" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.sliceOperations(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
IndexRange ixrange,
String outputName)
Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.
|
static void |
LibMatrixCuDNN.softmax(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "softmax" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.solve(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
MatrixObject in2,
String outputName)
Implements the "solve" function for systemds Ax = B (A is of size m*n, B is of size m*1, x is of size n*1)
|
static void |
LibMatrixCUDA.sqrt(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "sqrt" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.tan(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "tan" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.tanh(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String outputName)
Performs an "tanh" operation on a matrix on the GPU
|
static void |
LibMatrixCUDA.transpose(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in,
String outputName)
Transposes the input matrix using cublasDgeam
|
static void |
LibMatrixCUDA.unaryAggregate(ExecutionContext ec,
GPUContext gCtx,
String instName,
MatrixObject in1,
String output,
AggregateUnaryOperator op)
Entry point to perform Unary aggregate operations on the GPU.
|
Constructor and Description |
---|
LibMatrixCuDNNInputRowFetcher(GPUContext gCtx,
String instName,
MatrixObject image)
Initialize the input fetcher
|
Copyright © 2020 The Apache Software Foundation. All rights reserved.