ViennaCL provides high level C++ interfaces for linear algebra routines on CPUs and GPUs using CUDA, OpenCL, and OpenMP. The focus is on generic implementations of iterative solvers often used for large linear systems and simple integration into existing projects.
Features
- Three computing backends: CUDA, OpenCL, OpenMP
- Iterative Solvers: Conjugate Gradient, Stabilized BiConjugate Gradient, Generalized Minimum Residual
- Preconditioners: ICHOL, ILUT, ILU0, Block-ILU, AMG, (F)SPAI, Jacobi
- BLAS Level 1, Level 2 and Level 3 routines on GPUs and multi-core CPUs
- Fast sparse matrix-vector and sparse matrix-matrix products
- Convenient C++ wrappers for common linear algebra operations
- Fast Fourier transform
- C++ Interface is mostly uBLAS compatible
- Interfaces for uBLAS, Armadillo, Eigen and MTL 4
- Iterative Solvers can directly be used with uBLAS, Armadillo, Eigen and MTL4 objects
- Structured matrices: Circulant, Hankel, Toeplitz, Vandermonde
- OpenCL Kernel optimization environment for optimal performance on the target device
- Header-only library
- MATLAB interface for the iterative solvers (separate download)
- Python interface (PyViennaCL)
License
MIT LicenseFollow ViennaCL
Other Useful Business Software
Cut Cloud Costs with Google Compute Engine
Save on compute costs with Compute Engine. Reduce your batch jobs and workload bill 60-91% with Spot VMs. Compute Engine's committed use offers customers up to 70% savings through sustained use discounts. Plus, you get one free e2-micro VM monthly and $300 credit to start.
Rate This Project
Login To Rate This Project
User Reviews
-
Great project and team.