Package | Description |
---|---|
org.apache.sysml.runtime.instructions.gpu.context | |
org.apache.sysml.runtime.matrix.data |
Modifier and Type | Field and Description |
---|---|
JCudaObject.CSRPointer |
JCudaObject.jcudaSparseMatrixPtr
Pointer to sparse matrix
|
Modifier and Type | Method and Description |
---|---|
static JCudaObject.CSRPointer |
JCudaObject.CSRPointer.allocateEmpty(long nnz2,
long rows)
Factory method to allocate an empty CSR Sparse matrix on the GPU
|
static JCudaObject.CSRPointer |
JCudaObject.CSRPointer.allocateForDgeam(jcuda.jcusparse.cusparseHandle handle,
JCudaObject.CSRPointer A,
JCudaObject.CSRPointer B,
int m,
int n)
Estimates the number of non zero elements from the results of a sparse cusparseDgeam operation
C = a op(A) + b op(B)
|
static JCudaObject.CSRPointer |
JCudaObject.CSRPointer.allocateForMatrixMultiply(jcuda.jcusparse.cusparseHandle handle,
JCudaObject.CSRPointer A,
int transA,
JCudaObject.CSRPointer B,
int transB,
int m,
int n,
int k)
Estimates the number of non-zero elements from the result of a sparse matrix multiplication C = A * B
and returns the
JCudaObject.CSRPointer to C with the appropriate GPU memory. |
static JCudaObject.CSRPointer |
JCudaObject.columnMajorDenseToRowMajorSparse(jcuda.jcusparse.cusparseHandle cusparseHandle,
int rows,
int cols,
jcuda.Pointer densePtr)
Convenience method to convert a CSR matrix to a dense matrix on the GPU
Since the allocated matrix is temporary, bookkeeping is not updated.
|
JCudaObject.CSRPointer |
JCudaObject.getSparseMatrixCudaPointer()
Convenience method to directly examine the Sparse matrix on GPU
|
Modifier and Type | Method and Description |
---|---|
static JCudaObject.CSRPointer |
JCudaObject.CSRPointer.allocateForDgeam(jcuda.jcusparse.cusparseHandle handle,
JCudaObject.CSRPointer A,
JCudaObject.CSRPointer B,
int m,
int n)
Estimates the number of non zero elements from the results of a sparse cusparseDgeam operation
C = a op(A) + b op(B)
|
static JCudaObject.CSRPointer |
JCudaObject.CSRPointer.allocateForMatrixMultiply(jcuda.jcusparse.cusparseHandle handle,
JCudaObject.CSRPointer A,
int transA,
JCudaObject.CSRPointer B,
int transB,
int m,
int n,
int k)
Estimates the number of non-zero elements from the result of a sparse matrix multiplication C = A * B
and returns the
JCudaObject.CSRPointer to C with the appropriate GPU memory. |
static void |
JCudaObject.CSRPointer.copyToDevice(JCudaObject.CSRPointer dest,
int rows,
long nnz,
int[] rowPtr,
int[] colInd,
double[] values)
Static method to copy a CSR sparse matrix from Host to Device
|
static void |
JCudaObject.CSRPointer.copyToHost(JCudaObject.CSRPointer src,
int rows,
long nnz,
int[] rowPtr,
int[] colInd,
double[] values)
Static method to copy a CSR sparse matrix from Device to host
|
void |
JCudaObject.setSparseMatrixCudaPointer(JCudaObject.CSRPointer sparseMatrixPtr)
Convenience method to directly set the sparse matrix on GPU
Make sure to call
JCudaObject.setDeviceModify(long) after this to set appropriate state, if you are not sure what you are doing. |
Modifier and Type | Method and Description |
---|---|
protected static void |
LibMatrixCUDA.sparseMatrixDenseVectorMult(String instName,
org.apache.sysml.runtime.controlprogram.caching.MatrixObject output,
JCudaObject.CSRPointer A,
jcuda.Pointer B_dense,
int transA,
int m,
int k)
C = op(A) x B
A is a sparse matrix, B is a dense vector
|
protected static void |
LibMatrixCUDA.sparseMatrixVectorMult(String instName,
org.apache.sysml.runtime.controlprogram.caching.MatrixObject output,
int transA,
int m,
int n,
int k,
JCudaObject.CSRPointer A,
JCudaObject.CSRPointer B)
Does a sparse matrix-vector multiply.
|
protected static void |
LibMatrixCUDA.sparseSparseMatmult(String instName,
org.apache.sysml.runtime.controlprogram.caching.MatrixObject output,
int transA,
int transB,
int m,
int n,
int k,
JCudaObject.CSRPointer A,
JCudaObject.CSRPointer B)
Does a sparse-sparse Matrix multiply
C = op(A) x op(B), A, B are sparse matrices
|
Copyright © 2017 The Apache Software Foundation. All rights reserved.