Book Image

R High Performance Programming

By : Aloysius Shao Qin Lim
Book Image

R High Performance Programming

By: Aloysius Shao Qin Lim

Overview of this book

This book is for programmers and developers who want to improve the performance of their R programs by making them run faster with large data sets or who are trying to solve a pesky performance problem.
Table of Contents (12 chapters)
11
Index

R and GPUs


The R community has developed a few packages for R programmers to leverage GPUs. The vectorized nature of R makes the use of GPUs a natural fit. The packages vary in the level of encapsulation and hence the required familiarity with the native CUDA or OpenCL languages. A selection of R packages for GPU programming are listed here:

  • gputools: This provides R functions that wrap around GPU-based algorithms for common operations, such as linear models and matrix algebra. It requires CUDA, and hence an NVIDIA GPU.

  • gmatrix: This provides the gmatrix and gvector classes to represent matrices and vectors respectively in NVIDIA GPUs. It also provides functions for common matrix operations such as matrix algebra, and random number generation and sorting.

  • RCUDA: This provides a low-level interface to load and call a CUDA kernel from an R session. Using RCUDA requires a good understanding of the CUDA language, but allows more flexibility and code optimization. More information about t can be...