:orphan: # PCAMGX Interface to NVIDIA's AmgX algebraic multigrid ## Options Database Keys - ***-pc_amgx_amg_method -*** set the AMG algorithm to use - ***-pc_amgx_amg_cycle -*** set the AMG cycle type - ***-pc_amgx_smoother -*** set the AMG pre/post smoother - ***-pc_amgx_jacobi_relaxation_factor -*** set the relaxation factor for Jacobi smoothing - ***-pc_amgx_gs_symmetric -*** enforce symmetric Gauss-Seidel smoothing (only applies if GS smoothing is selected) - ***-pc_amgx_selector -*** set the AMG coarse selector - ***-pc_amgx_presweeps -*** set the number of AMG pre-sweeps - ***-pc_amgx_postsweeps -*** set the number of AMG post-sweeps - ***-pc_amgx_max_levels -*** set the maximum number of levels in the AMG level hierarchy - ***-pc_amgx_strength_threshold -*** set the strength threshold for the AMG coarsening - ***-pc_amgx_aggressive_levels -*** set the number of levels (from the finest) that should apply aggressive coarsening - ***-pc_amgx_coarse_solver -*** set the coarse solve - ***-pc_amgx_print_grid_stats -*** output the AMG grid hierarchy to stdout - ***-pc_amgx_verbose -*** enable AmgX output ## Note Implementation will accept host or device pointers, but good performance will require that the `KSP` is also GPU accelerated so that data is not frequently transferred between host and device. ## See Also `PCGAMG`, `PCHYPRE`, `PCMG`, `PCAmgXGetResources()`, `PCCreate()`, `PCSetType()`, `PCType` (for list of available types), `PC` ## Level intermediate ## Location src/ksp/pc/impls/amgx/amgx.cxx --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/amgx/amgx.cxx) [Index of all PC routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)