matmult: Matrix Multiplication of two matrices using GPU or multi-core...

Description Usage Arguments Details Methods References Examples

Description

Matrix multiplication using a GPU or multi-core CPU for most dense matrix types

Usage

1
2
3
4
5
6
7
8
## S4 method for signature 'dpoMatrix'
x %*% y
## S4 method for signature 'dgeMatrix'
x %*% y
## S4 method for signature 'dtrMatrix'
x %*% y
## S4 method for signature 'dtpMatrix'
x %*% y

Arguments

x

A dense matrix inheriting from Matrix or of type base::matrix

y

A dense matrix inheriting from dMatrix or of type base::matrix

Details

For further details on classes and methods see the full Matrix package documentation.

Methods

%*%

signature(x = "ddenseMatrix", y = "ddenseMatrix"):x and y inherit from ddenseMatrix, x is coerced to dgeMatrix. For multi-core machines the PLASMA_dgemm is used or for GPU enabled machines magma_dgemm may be used also.

%*%

signature(x = "dgeMatrix", y = "dgeMatrix"):x and y are of type dgeMatrix. For multi-core machines the PLASMA_dgemm is used or for GPU enabled machines magma_dgemm may be used also.

%*%

signature(x = "dgeMatrix", y = "matrix"):For multi-core machines the PLASMA_dgemm is used or for GPU enabled machines magma_dgemm may be used also.

%*%

signature(x = "dsyMatrix", y = "Matrix"): For multi-core machines the PLASMA_dsymm is used or for GPU enabled machines cublasDsymm may be used also.

%*%

signature(x = "dsyMatrix", y = "ddenseMatrix"):For multi-core machines the PLASMA_dsymm is used or for GPU enabled machines cublasDsymm may be used also.

%*%

signature(x = "dsyMatrix", y = "dsyMatrix"):For multi-core machines the PLASMA_dsymm is used or for GPU enabled machines cublasDsymm may be used also.

%*%

signature(x = "ddenseMatrix", y = "dsyMatrix"):For multi-core machines the PLASMA_dsymm is used or for GPU enabled machines cublasDsymm may be used also.

%*%

signature(x = "matrix", y = "dsyMatrix"):For multi-core machines the PLASMA_dsymm is used or for GPU enabled machines cublasDsymm may be used also.

%*%

signature(x = "dspMatrix", y = "ddenseMatrix"):For GPU enabled machines cublasDspmv may be used. The PLASMA library does not support this type so there is no multi-core support for this function

%*%

signature(x = "dspMatrix", y = "Matrix"):For GPU enabled machines cublasDspmv may be used also. The PLASMA library does not support this type so there is no multi-core support for this function.

%*%

signature(x = "dtrMatrix", y = "dtrMatrix"):For multi-core machines the PLASMA_dtrmm is used or for GPU enabled machines cublasDtrmm may be used also.

%*%

signature(x = "dtrMatrix", y = "ddenseMatrix"):For multi-core machines the PLASMA_dtrmm is used or for GPU enabled machines cublasDtrmm may be used also.

%*%

signature(x = "dtrMatrix", y = "Matrix"):For multi-core machines the PLASMA_dtrmm is used or for GPU enabled machines cublasDtrmm may be used also.

%*%

signature(x = "ddenseMatrix", y = "dtrMatrix"):For multi-core machines the PLASMA_dtrmm is used or for GPU enabled machines cublasDtrmm may be used also.

%*%

signature(x = "matrix", y = "dtrMatrix"):For multi-core machines the PLASMA_dtrmm is used or for GPU enabled machines cublasDtrmm may be used also.

%*%

signature(x = "dtpMatrix", y = "ddenseMatrix"):For GPU enabled machines cublasDtpmv may be used. The PLASMA library does not support this type so there is no multi-core support for this function

%*%

signature(x = "dgeMatrix", y = "dtpMatrix"):For GPU enabled machines cublasDtpmv may be used also. The PLASMA library does not support this type so there is no multi-core support for this function.

References

Martin Maechler, Douglas Bates (Matrix package)

Examples

1
2
3
4
5
6
7
8
9
 p <- 256
 X <- Matrix(rnorm(p*p), p, p) # random square matrix for large p
 Y <- Matrix(rnorm(p*p), p ,p)
 Z <- X 

 #dtr triangular Matrix
 X <- triu(X)
 Y <- triu(y)
 Z <- X 

HiPLARM documentation built on May 29, 2017, 10:42 p.m.

Related to matmult in HiPLARM...