A matrix and array operation library on GPU with Eigen compatible interface
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
include/gpumatrix bug fix for #3 #4 #5 Dec 25, 2017
src Revert 1184758^..HEAD Mar 23, 2013
test bug fix for #3 #4 #5 Dec 25, 2017
CMakeLists.txt bug fix for #3 #4 #5 Dec 25, 2017
GPUMatrix.kdev4 Revert 1184758^..HEAD Mar 23, 2013
README.md Update README.md Dec 25, 2017



A matrix and array library on GPU with interface compatible with Eigen.


  • Supports CUDA back-end.
  • Most common Array and Matrix operations are supported. See test suite for more details.
  • Implemented interfaces are compatible with Eigen 3. Program using Eigen is easy to port to GPU using GPUMatrix.

Missing but planned

  • All vectors are column vectors. Row vectors is not implemented;
  • Multiple back-end support, including OpenCL and MKL;
  • Interface for user defined member functions, like Eigen;
  • Many functions and operations are waiting to be implemented.

Build and test

  • Build as a standard cmake project;
  • To correctly build the test, Eigen3 is needed. It's include-path can be specified by EIGEN3_INCLUDE_DIR variable.


GPUMatrix adopts the template expression architecture of TVMet library from tvmet.sourceforge.net. I'd like to appreciate Olaf Petzold for his great work on TVMet library.

The project is previous hosted at Google Code: http://code.google.com/p/gpumatrix/.