Tags: wangshaohua/amgcl
Tags
* Added adapter for ublas types. Provides amgcl::backend::map() for ublas::compressed_matrix and allows to use ublas vectors with builtin backend. * Moved make_solver parameters into single params struct This is an API breaking change! This unifies treatment of amg and solver params in amgcl::make_solver, amgcl::runtime::make_solver, and amgcl::mpi::subdmain_deflation classes. Now, whenever a class contains both an amg hierarchy and an iterative solver, the amg parameters may be accessed through the class params::amg, and the solver parameters -- through params::solver. * Fixed pyamgcl for use with python3 and arch linux.
This is a rather big release with lots of new features. * Added crs_builder backend. The backend is similar to crs_tuple in the sense that it is only used for initialization of AMG hierarchy. The difference is that crs_builder does not need fully constructed matrix in CRS format (which would be copied into AMG anyway), but builds matrix rows as needed. This results in reduced memory requirements. * Implemented MPI solver with subdomain deflation in collaboration with @RiccardoRossi. The method allows solution on parallel machines with distributed memory and has very good scalability. * Implemented BiCGStab(L) iterative solver. * Added an adapter for Epetra_CrsMatrix from Trilinos project. * Added SkylineLU sparse direct solver. This allows for larger coarse levels in builtin backend, which improves convergence and solve time. Again, thanks to @RiccardoRossi for help. * Added classes in amgcl::runtime namespace that allow for runtime configuration of multigrid template parameters. This makes AMGCL easy to use in 3rd party libraries/applications. * Provided Delphi wrapper for AMGCL. * Provided python wrapper for AMGCL. May be installed with pip by pip install pyamgcl * New tests and examples * Various improvements and bug fixes.
This is a major change in the library interface and implementation. The code base has been rewritten from scratch to decouple various components of the AMG method, such as backends, coarseners, smoothers, and iterative solvers. This makes extending the library much easier.
* Added Blaze library backend (https://code.google.com/p/blaze-lib) * Use Kahan summation in implementation of inner_product for the VexCL backend