> > This is a symmetric graph, but not a symmetric matrix, though the asymmetry > is only due to boundary conditions (boundary rows have only a diagonal > nonzero; the other zeros are still stored explicitly). Do you have a > preference about how this is handled? (I don't think we should need extra > options to handle this extremely common case.) >
If the graph is symmetric then the only problem is that after thresholding the graph can be unsymmetric if the values are not symmetric. So the solution is to: [0]PETSC ERROR: Have un-symmetric graph (apparently). Use '-pc_gamg_sym_graph true' to symetrize the graph or '-pc_gamg_threshold 0.0' if the matrix is structurally symmetric.! There is no simple way to make fix this, that I can think of. If I threshold I need to have the transpose data to threshold symmetrically and if the graph is not symmetric then the MIS algorithm would need to be reworked. The best way that I can think of to rework MIS is to symmetrize the graph, which puts us back to where we started. As the user noticed, this is not a problem is serial and it can often work in small scale parallel, but it gets you eventually. symetrizing the graph is not that expensive (compared to the rest of setup) -- we could make '-pc_gamg_sym_graph true' the default ? I'm thinking this is a good idea. Better to be robust and deal with optimizing for users that can not amortize setup.
