GPUmatrix: Basic Linear Algebra with GPU

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.

Version: 1.0.2
Depends: R (≥ 4.1)
Imports: stats, methods
Suggests: torch, tensorflow, Matrix, matrixStats, float, MASS, knitr, rmarkdown
Published: 2024-03-01
DOI: 10.32614/CRAN.package.GPUmatrix
Author: Cesar Lobato-Fernandez [aut, cre], Juan A.Ferrer-Bonsoms [aut], Angel Rubio [aut, ctb]
Maintainer: Cesar Lobato-Fernandez <clobatofern at unav.es>
License: Artistic-2.0
NeedsCompilation: no
Materials: README
In views: HighPerformanceComputing
CRAN checks: GPUmatrix results

Documentation:

Reference manual: GPUmatrix.pdf
Vignettes: Get started with GPUmatrix package

Downloads:

Package source: GPUmatrix_1.0.2.tar.gz
Windows binaries: r-devel: GPUmatrix_1.0.2.zip, r-release: GPUmatrix_1.0.2.zip, r-oldrel: GPUmatrix_1.0.2.zip
macOS binaries: r-release (arm64): GPUmatrix_1.0.2.tgz, r-oldrel (arm64): GPUmatrix_1.0.2.tgz, r-release (x86_64): GPUmatrix_1.0.2.tgz, r-oldrel (x86_64): GPUmatrix_1.0.2.tgz
Old sources: GPUmatrix archive

Linking:

Please use the canonical form https://CRAN.R-project.org/package=GPUmatrix to link to this page.