Basic Linear Algebra with GPU
Array Transposition
Apply Functions over 'gpu.matrix-class' margins
as_methods
cbind_rbind_methods
concatenate_gpu.matrix
Correlation, Variance and Covariance for 'GPUmatrix' objects
Kernel Density Estimation and Histograms
Calculate the Determinant of a 'GPUMatrix'
diag
Number of rows and columns and its corresponding names
Distance Matrix Computation with GPU
'GPUmatrix' Exponential
extract_gpu.matrix
Fast Discrete Fourier Transform (FFT)
Class 'gpu.matrix' for matrix stored in GPU
create and store a matrix in the GPU
Fitting Generalized Linear Models using GPUmatrix objects
Return the first or last part of a GPUmatrix object
installTorch
kroneker Products
Logistic Regression with Conjugate Gradient method
Matrix Products
Decomposition of a matrix with GPU
Get different statistics for a gpu.matrix-class.
Non negative factorization of a matrix
Compute the kth power of a matrix.
The QR Decomposition of a GPUmatrix object
rounding of numers
Spicify type of 'GPUmatrix'
Solve a System of Equations
sort
GPUs are great resources for data analysis, especially in statistics and linear algebra. Unfortunately, very few packages connect R to the GPU, and none of them are transparent enough to run the computations on the GPU without substantial changes to the code. The maintenance of these packages is cumbersome: several of the earlier attempts have been removed from their respective repositories. It would be desirable to have a properly maintained R package that takes advantage of the GPU with minimal changes to the existing code. We have developed the GPUmatrix package (available on CRAN). GPUmatrix mimics the behavior of the Matrix package and extends R to use the GPU for computations. It includes single(FP32) and double(FP64) precision data types, and provides support for sparse matrices. It is easy to learn, and requires very few code changes to perform the operations on the GPU. GPUmatrix relies on either the Torch or Tensorflow R packages to perform the GPU operations. We have demonstrated its usefulness for several statistical applications and machine learning applications: non-negative matrix factorization, logistic regression and general linear models. We have also included a comparison of GPU and CPU performance on different matrix operations.