All Projects → ddemidov → Amgcl

ddemidov / Amgcl

Licence: mit
C++ library for solving large sparse linear systems with algebraic multigrid method

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Amgcl

Arraymancer
A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends
Stars: ✭ 793 (+103.33%)
Mutual labels:  openmp, gpgpu, opencl, cuda
Babelstream
STREAM, for lots of devices written in many programming models
Stars: ✭ 121 (-68.97%)
Mutual labels:  openmp, gpgpu, opencl, cuda
John
John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
Stars: ✭ 5,656 (+1350.26%)
Mutual labels:  openmp, gpgpu, opencl, mpi
Occa
JIT Compilation for Multiple Architectures: C++, OpenMP, CUDA, HIP, OpenCL, Metal
Stars: ✭ 230 (-41.03%)
Mutual labels:  openmp, gpgpu, opencl, cuda
Arrayfire
ArrayFire: a general purpose GPU library.
Stars: ✭ 3,693 (+846.92%)
Mutual labels:  gpgpu, opencl, cuda, scientific-computing
Vexcl
VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP
Stars: ✭ 626 (+60.51%)
Mutual labels:  gpgpu, opencl, cuda, scientific-computing
Ilgpu
ILGPU JIT Compiler for high-performance .Net GPU programs
Stars: ✭ 374 (-4.1%)
Mutual labels:  gpgpu, opencl, cuda
Edge
Extreme-scale Discontinuous Galerkin Environment (EDGE)
Stars: ✭ 18 (-95.38%)
Mutual labels:  openmp, scientific-computing, mpi
Arrayfire Python
Python bindings for ArrayFire: A general purpose GPU library.
Stars: ✭ 358 (-8.21%)
Mutual labels:  gpgpu, opencl, cuda
Spoc
Stream Processing with OCaml
Stars: ✭ 115 (-70.51%)
Mutual labels:  gpgpu, opencl, cuda
crowdsource-video-experiments-on-android
Crowdsourcing video experiments (such as collaborative benchmarking and optimization of DNN algorithms) using Collective Knowledge Framework across diverse Android devices provided by volunteers. Results are continuously aggregated in the open repository:
Stars: ✭ 29 (-92.56%)
Mutual labels:  opencl, openmp, cuda
pystella
A code generator for grid-based PDE solving on CPUs and GPUs
Stars: ✭ 18 (-95.38%)
Mutual labels:  opencl, mpi, scientific-computing
Loopy
A code generator for array-based code on CPUs and GPUs
Stars: ✭ 367 (-5.9%)
Mutual labels:  opencl, cuda, scientific-computing
Stdgpu
stdgpu: Efficient STL-like Data Structures on the GPU
Stars: ✭ 531 (+36.15%)
Mutual labels:  openmp, gpgpu, cuda
EFDCPlus
www.eemodelingsystem.com
Stars: ✭ 9 (-97.69%)
Mutual labels:  openmp, mpi, scientific-computing
Kernels
This is a set of simple programs that can be used to explore the features of a parallel platform.
Stars: ✭ 287 (-26.41%)
Mutual labels:  openmp, opencl, mpi
monolish
monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture
Stars: ✭ 166 (-57.44%)
Mutual labels:  openmp, cuda, scientific-computing
Hashcat
World's fastest and most advanced password recovery utility
Stars: ✭ 11,014 (+2724.1%)
Mutual labels:  gpgpu, opencl, cuda
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+320.77%)
Mutual labels:  gpgpu, opencl, cuda
HeCBench
software.intel.com/content/www/us/en/develop/articles/repo-evaluating-performance-productivity-oneapi.html
Stars: ✭ 85 (-78.21%)
Mutual labels:  openmp, cuda, scientific-computing

AMGCL

Documentation Status DOI Build Status Build status codecov Coverity Scan Build Status

AMGCL is a header-only C++ library for solving large sparse linear systems with algebraic multigrid (AMG) method. AMG is one of the most effective iterative methods for solution of equation systems arising, for example, from discretizing PDEs on unstructured grids. The method can be used as a black-box solver for various computational problems, since it does not require any information about the underlying geometry. AMG is often used not as a standalone solver but as a preconditioner within an iterative solver (e.g. Conjugate Gradients, BiCGStab, or GMRES).

AMGCL builds the AMG hierarchy on a CPU and then transfers it to one of the provided backends. This allows for transparent acceleration of the solution phase with help of OpenCL, CUDA, or OpenMP technologies. Users may provide their own backends which enables tight integration between AMGCL and the user code.

See AMGCL documentation at http://amgcl.readthedocs.io/

Referencing

Demidov, Denis. AMGCL: An efficient, flexible, and extensible algebraic multigrid implementation. Lobachevskii Journal of Mathematics, 40(5):535–546, May 2019. doi pdf bib

Demidov, Denis. AMGCL -- A C++ library for efficient solution of large sparse linear systems. Software Impacts, 6:100037, November 2020. doi bib

Demidov, Denis, Lin Mu, and Bin Wang. Accelerating linear solvers for Stokes problems with C++ metaprogramming. Journal of Computational Science (2020): 101285. doi arxiv bib

Support

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].