AMG: Extended earlier OpenCL-only AMG implementation to CUDA and OpenMP.
Now provides the following: - coarsening: classical RS, aggregation - smoothing: direct interpolation, aggregation, smoothed-agg All available for all three backends, no longer requiring uBLAS. Former RS0 and RS3 dropped due to a lack of fine-grained parallelism. Implementations mostly based on paper "Exposing Fine-Grained Parallelism in Algebraic Multigrid Methods" by Bell et al. Initial implementation in branch karlrupp/refurbish-amg which became too messy over time, hence this cleanup. New operations available via viennacl/linalg/amg_operations.hpp. This includes assign_to_dense() and amg_transpose(), which should at some point become generally available with a nicer API. Still to be added: - diagnostic information from preconditioner object - documentation in manual - more convenience for amg_tag
Loading
Please register or sign in to comment