Welcome to gpuRcuda! This package is designed to be an extension upon the more general gpuR package. Essentially, this package creates a secondary level of child classes that inherit from gpuR classes. As such, any functions defined in gpuR (i.e. OpenCL counterpart) will also work on any of the objects defined herein. The key aspect of this package is to allow the user to use the clBLAS library which may potentially improve overall performance depending upon the gpu architecture.
The syntax is designed to be identical to gpuR
ORDER <- 1024
A <- matrix(rnorm(ORDER^2), nrow=ORDER)
B <- matrix(rnorm(ORDER^2), nrow=ORDER)
gpuA <- amdMatrix(A, type="double")
gpuB <- amdMatrix(B, type="double")
C <- A + B
gpuC <- gpuA %*% gpuB
all(C == gpuC)
[1] TRUE
- opencl-headers (shared library)
- GPU Drivers & SDK (AMD, NVIDIA, etc.)
- Purge existing fglrx drivers (
sudo sh /usr/share/ati/fglrx_uninstall.sh
) - Install current fglrx drivers (
sudo apt-get install fglrx-updates
) - Install opencl-headers (
sudo apt-get install opencl-headers
) -- needed to install clBLAS
git clone https://github.com/arrayfire/clBLAS.git
cd clBLAS
mkdir build && cd build
cmake ../src -DCMAKE_BUILD_TYPE=Release
make
sudo make install
You should now be good to install and use gpuRclblas :)