added an option of negative thresold for generating the graph from the matrix to mean keep even the zero entries in the matrix This saves all the calls to MatSetValues() for generating the graph matr
added an option of negative thresold for generating the graph from the matrix to mean keep even the zero entries in the matrix This saves all the calls to MatSetValues() for generating the graph matrix. (MatSetValues calls are known to be slow).
Surprisingly to me it save 20% of the total time on my laptop for one process for ./ex45 -da_refine 4 -pc_type gamg -ksp_monitor -pc_gamg_threshold -1.0 -ksp_type fgmres -ksp_view -log_summary compared to ./ex45 -da_refine 4 -pc_type gamg -ksp_monitor -pc_gamg_threshold 0.0 -ksp_type fgmres -ksp_view -log_summary it generated smaller coarse grid matrices and had very similar convergence rate so not only did it essentially eliminate the PCGAMGGraph_AGG time but the other times decreased as well
show more ...
|