xiaoyeli / superlu_dist

Distributed memory, MPI based SuperLU
https://portal.nersc.gov/project/sparse/superlu/
Other
186 stars 64 forks source link

Fix issue when sequential column permutations vary between processes #144

Open sebastiangrimberg opened 1 year ago

sebastiangrimberg commented 1 year ago

I ran into an issue using the METIS_AT_PLUS_A reordering that the computed column permutation was different on different MPI processes, causing issues down the line in the symbolic factorization. This was using Scotch's METIS compatibility library, where it appears that recent versions of Scotch may produce slightly different results for calls to METIS_NodeND with the same inputs.

This PR resolves this issue by computing the column permutation on the root process and broadcasting to all other processes. This is the same approach taken by, for example, STRUMPACK when not using parallel reordering methods.