On Fri, Aug 16, 2013 at 6:31 AM, Cong Li <[email protected]> wrote:
> Hi, Matthew > Thank you very much for the answer. > > And I met a new problem. > When there some PetscScalar type data operations before the VecWAXPY call, > for example > > PetscScalar, a,b, c; > ..... > ..... > c=a+b; > ierr = VecWAXPY(r, c, Ax, b);CHKERRQ(ierr); > > , should I add MPI_Barrier call right before VecWAXPY call ? > Never put in a barrier. Matt > Best regards > > Cong > > > On Fri, Aug 16, 2013 at 7:56 PM, Matthew Knepley <[email protected]>wrote: > >> On Fri, Aug 16, 2013 at 2:11 AM, Cong Li <[email protected]>wrote: >> >>> Hi >>> >>> I am a rookie to PETSc, and I am wondering about whether I should call >>> MPI_Barrier to explicitly synchronize processes between PETSc calls. >>> For example, a piece of code like below >>> >>> ierr = MatMult(A,x,Ax); CHKERRQ(ierr); >>> ierr = VecWAXPY(r, neg_one, Ax, b);CHKERRQ(ierr); >>> >>> Should I add MPI_Barrier inbetween MatMult call and VecWAXPY call ? >>> >> >> No >> >> Matt >> >> >>> My guess is that it is unnecessary. However, I am not so confident in >>> this guess, for I don't have much experience on using PETSc. >>> >>> Thanks in advance. >>> >>> Cong Li >>> >> >> >> >> -- >> What most experimenters take for granted before they begin their >> experiments is infinitely more interesting than any results to which their >> experiments lead. >> -- Norbert Wiener >> > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
