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)

Project Activity

See All Activity >

License

MIT License

Follow ViennaCL

ViennaCL Web Site

You Might Also Like
Create and run cloud-based virtual machines. Icon
Create and run cloud-based virtual machines.

Secure and customizable compute service that lets you create and run virtual machines on Google’s infrastructure.

Computing infrastructure in predefined or custom machine sizes to accelerate your cloud transformation. General purpose (E2, N1, N2, N2D) machines provide a good balance of price and performance. Compute optimized (C2) machines offer high-end vCPU performance for compute-intensive workloads. Memory optimized (M2) machines offer the highest memory and are great for in-memory databases. Accelerator optimized (A2) machines are based on the A100 GPU, for very demanding applications.
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
1
0
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5

User Reviews

There are no 2 star reviews.

Additional Project Details

Operating Systems

Linux, BSD, Mac, Windows

Intended Audience

Science/Research, Engineering

Programming Language

C++

Related Categories

C++ Algorithms, C++ Mathematics Software, C++ Libraries

Registered

2010-05-12