Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error in function getPartVec() #8

Closed
piyueh opened this issue Jan 13, 2017 · 0 comments
Closed

Error in function getPartVec() #8

piyueh opened this issue Jan 13, 2017 · 0 comments
Assignees
Labels

Comments

@piyueh
Copy link
Member

piyueh commented Jan 13, 2017

With PETSc 3.7.3 compiled under DEBUG MODE (i.e., --with-debugging=1), AmgX wrapper returns an error during the call to a PETSc function, VecISSet(), at line 182. The error message, which is produced by function PetscCheckSameComm(...) in the source code of VecISSet(), complains:

Different communicators in the two objects: Argument # 3 and 1 flag 3.

This may be caused by the fact that tempMPI and devIS at line 182 are created with different MPI communicators.

The reason why this problem didn't show up previously may be that I compiled PETSc under RELEASE MODE during developing AmgX wrapper. And PetscCheckSameComm(...) is doing nothing under release mode.

Though tempMPI and devIS are created with different MPI communicators, the wrapper still works well with released-mode PETSc. This is because we only call VecISSet() on overlapped ranks of the communicators of tempMPI and devIS. And therefore the code works well. However, this code is still dangerous. I have to fix it as soon as possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant