gpuR

Gitter rooms available for discussion

Build Status

BuildDev
Linux x86_64
OSX
Windows x86

Test coverage:

Community Use:

Welcome to my R package for simple GPU computing. Although there are a few existing packages to leverage the power of GPU's they are either specific to one brand (e.g. NVIDIA) or are not very user friendly. The goal of this package is to provide the user a very simple R API that can be used with any GPU (via an OpenCL backend). This is accomplished by interfacing with the ViennaCL library that I have packaged in the R package RViennaCL. To make the R API simple, I created new classes similar to the structure of the Matrix package. By doing so, typical methods may be overloaded to make for a very pleasing sytax. For example, to perform vector addition the syntax is:

A <- seq.int(from=0, to=999)
B <- seq.int(from=1000, to=1)
gpuA <- gpuVector(A)
gpuB <- gpuVector(B)

C <- A + B
gpuC <- gpuA + gpuB

all(C == gpuC)
[1] TRUE

I also recommend you read the vignette I included with this package to get a better understanding of its' capabilities.

vignette("gpuR")

Please note, all the functions herein use an OpenCL backend. If you prefer to have a CUDA based backend, please see my other package gpuRcuda which is simply an extension on top of this package where all functions herein are still applicable but also have the CUDA option available.

INSTALL

Please see my github wiki for installation instructions relevant to your operating system.

Things to Do

  1. Obviously more vector functions and matrix implementations
  2. My resources limit how much I can test (e.g. OS, GPU vendors). Would

appreciate any feedback on how the installation and use fairs with other platforms and GPUs. 2. Would love any suggestions :) (submit in the issues)

Copy Link

Version

Down Chevron

Monthly Downloads

93

Version

2.0.3

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

May 29th, 2019

Functions in gpuR (2.0.3)