CUPBB aims to build a Compute Unified Parallel Building Blocks (CUPBB) template library using GPU computing. This library will contain popular fundamental building blocks for scientific computing including, but not limited to, sparse linear algebra (e.g. SpMV), scan, reduction, sort and etc. TThis library is programmed in CUDA C++ template classes based on the generic programming paradigm, and complies with the Apache License version 2.0.

Note: Due to my tight schedule and lack of funding, I will gradually update this work in a steady pace in the future.




This library is organized as follows:
  1. the directory "apps" contains some example applications based on our template library, which include sparse matrix-vector multiplication (SpMV), prefix sum (scan), and page rank graph algoirthm (pagerank).
  2. the directory "include" contains the template library header files written in CUDA C++.
  3. the directory "third-party" contains third-party libraries including CUSP and ViennaCL.

Change Log


If any questions or improvements, please feel free to contact Liu, Yongchao.