AMGX库中的求解器和预处理器介绍

AMGX库中的求解器和预处理器介绍

AMGX是NVIDIA提供的用于大规模并行计算的代数多重网格(AMG)求解器库,主要用于GPU加速的稀疏线性方程组求解。以下是AMGX库中主要的求解器和预处理器:

主要求解器

1. Krylov子空间求解器

  • CG (Conjugate Gradient): 共轭梯度法,适用于对称正定矩阵
  • PCG (Preconditioned CG): 带预处理的共轭梯度法
  • GMRES: 广义最小残差法,适用于非对称矩阵
  • FGMRES: 灵活GMRES,允许预处理变化
  • BICGSTAB: 双共轭梯度稳定法,适用于非对称矩阵
  • PBICGSTAB: 带预处理的BICGSTAB
  • LGMRES: 重启GMRES的变体

2. 多重网格求解器

  • AMG (Algebraic Multigrid): 代数多重网格法,适用于椭圆型PDE问题
    • 经典AMG和聚合AMG两种变体
    • 支持多种平滑器(如Jacobi, Gauss-Seidel)和粗网格求解器

3. 块求解器

  • Block-Jacobi: 块雅可比迭代法
  • Block-Gauss-Seidel: 块高斯-赛德尔迭代法

4. 其他迭代求解器

  • JACOBI: 雅可比迭代法
  • GAUSS_SEIDEL: 高斯-赛德尔迭代法
  • MULTICOLOR_GS: 多色高斯-赛德尔法,适合并行计算

主要预处理器

  1. AMG预处理器: 作为其他Krylov求解器的预处理器
  2. Jacobi预处理器: 对角预处理
  3. Block-Jacobi预处理器: 块对角预处理
  4. ILU预处理器: 不完全LU分解
    • ILU0: 零填充ILU
    • ILUT: 基于阈值的ILU
  5. Polynomial预处理器: 多项式预处理
  6. Multicolor ILU: 多色排序的ILU,适合并行计算
  7. Schwarz预处理器: 区域分解方法

配置示例

AMGX使用JSON格式配置求解器和预处理器组合,例如:

{
    "solver": {
        "preconditioner": {
            "print_grid_stats": 1,
            "solver": "AMG",
            "print_vis_data": 0,
            "max_levels": 25,
            "cycle": "V",
            "smoother": "BLOCK_JACOBI",
            "presweeps": 1,
            "postsweeps": 1,
            "coarse_solver": "DENSE_LU_SOLVER"
        },
        "solver": "FGMRES",
        "print_solve_stats": 1,
        "max_iters": 1000,
        "monitor_residual": 1,
        "convergence": "RELATIVE_INI_CORE",
        "tolerance": 1e-10
    }
}

AMGX特别适合大规模稀疏线性系统的求解,在CFD、结构分析和其他科学计算领域有广泛应用,能够充分利用GPU的并行计算能力显著提高求解速度。


资料

├── algebraic_multigrid_solver.cu
├── bicgstab_solver.cu
├── block_jacobi_solver.cu
├── cf_jacobi_solver.cu
├── cg_solver.cu
├── cheb_solver.cu
├── chebyshev_poly.cu
├── dense_lu_solver.cu
├── dummy_solver.cu
├── fgmres_solver.cu
├── fixcolor_gauss_seidel_solver.cu
├── gauss_seidel_solver.cu
├── gmres_solver.cu
├── idrmsync_solver.cu
├── idr_solver.cu
├── jacobi_l1_solver.cu
├── kaczmarz_solver.cu
├── kpz_polynomial_solver.cu
├── multicolor_dilu_solver.cu
├── multicolor_gauss_seidel_solver.cu
├── multicolor_ilu_solver.cu
├── pbicgstab_solver.cu
├── pcgf_solver.cu
├── pcg_solver.cu
├── polynomial_solver.cu
├── solver.cu
└── user_solver.cu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值