PARALUTION is library for sparse iterative methods with special focus on multi-core and accelerator technology such as GPUs, it comes with dual license model - open-source GPLv3 and commercial. The software provides fine-grained parallel solvers and preconditioners which can utilize the modern multi-/many-core devices. Based on C++, it provides a generic and flexible design allowing a seamless integration with other scientific software packages.
The iterative solvers are built on the generic interface and can be performed on every backend available on your system.
Due to its design, all iterative solvers can be used as preconditioners. In addition to that, the library provides the following preconditioning schemes based on:
One of the key features of PARALUTION is that it provides full portability of the code -- e.g. select a solver (CG, GMRES, AMG, etc) run it on your GPU system, turn off the computer, remove the GPU, and start the program again - it will produce the same results but with lower performance on the CPU.
Visit the PARALUTION web site for more details: http://www.paralution.com