Hi,

ok, while doing the MWE, I finally found the problem, and it was on our side...

Explanation: When using our "full MPI" non-zeros counting algorithm, we do *communicate* the non-zeros to the owning processes of the lines we count for.

Then, we do have the correct count for the call for MatXAIJSetPreallocation(A,…..), so far so good.

*But*, just after the preallocation, we do the first assembly of the matrix with all the non-zeros received from all processes... (which means it is a strictly local assembly for MPIAIJ matrix)

That's where it was wrong: since we got entries on columns we don't own in our local2global mapping , that's why we got: "Some of the column indices can not be mapped!"

If i *may* suggest one thing, I would just change the wording of the error and eventually adding the faulty column number, like:

"Global column indices (X) can not be mapped locally (does not appear in given local2global mapping)!"

But now that everything is fine, I hope to never see the message again... ;)

Thanks a lot again for helping!

Eric

On 2020-11-12 3:38 a.m., Stefano Zampini wrote:
Can you provide a MWE to show your issues? We can add it to the test suite and it can be educational for other users.

--
Eric Chamberland, ing., M. Ing
Professionnel de recherche
GIREF/Université Laval
(418) 656-2131 poste 41 22 42

Reply via email to