Open DABH opened 4 years ago
examples/mpi/solve_mm_mpi.cpp
uses subdomain deflation preconditioner (http://ta.twi.tudelft.nl/users/vuik/pub_it_def.html, amgcl/mpi/subdomain_deflation.hpp), hence the difference in parameters. examples/mpi/mpi_amg.cpp
is the one using amgcl::mpi::amg
, which has a set of parameters closely resembling that of the serial amgcl::amg
.
Any component in amgcl defines its own set of parameters (as a params
subclass), so you can peek at possible parameters in the corresponding header file. For example, here is the definition of amgcl::mpi::amg::params
.
Or, even informally like in this issue, can you suggest what are the main parameters I should experiment with in the MPI case in order to try to reduce the iteration count / solution time of my system?
This mostly depends on the system you are solving.
It seems like the parameter names used to control AMG and solver settings are pretty different for the MPI vs. non-MPI versions of the runtime AMGCL interface. For example, in
examples/mpi/solve_mm_mpi.cpp
, we havebut these parameters like
local
andisolver
don't exist in the non-MPI runtime interface, for example inexamples/call_lib.cpp
there isI can guess some mappings from non-MPI to MPI, like
but in general I'm not sure of all the different parameters that can be set, especially in the MPI case which is what I'm most interested in. The docs don't really seem to have any comprehensive list of all the possible parameters names and descriptions. Is it possible to put together a quick list of the possible parameters for the runtime MPI solver interface (especially with AMG), and maybe how those map to the similar parameters in the non-MPI interface?
Or, even informally like in this issue, can you suggest what are the main parameters I should experiment with in the MPI case in order to try to reduce the iteration count / solution time of my system?
Happy to help in any way I can. Thank you in advance!