That cannot be right because this check was added two days ago. Matt
On Wed, Jun 16, 2010 at 10:40 AM, Lisandro Dalcin <dalcinl at gmail.com> wrote: > > > On 16 June 2010 11:38, Matthew Knepley <knepley at gmail.com> wrote: > >> Barry, >> >> You inserted a check in VecAXPY:563 (which Jed corrected) >> >> jed at >> 16195<http://petsc/petsc-dev/annotate/c5b7ef1f9e2d/src/vec/vec/interface/rvector.c#l563> >> >> 563 <#129416afbe1f4061_1294132b5614bbcc_l563> >> >> if (x == y) SETERRQ(((PetscObject)x)->comm,PETSC_ERR_ARG_IDN,"x and y >> cannot be the same vector"); >> >> >> However, this seems to make no sense in light of mg.c:53 >> >> ierr = >> MatInterpolateAdd(mglevels->interpolate,mgc->x,mglevels->x,mglevels->x);CHKERRQ(ierr); >> >> which will eventually call this with y == w, and has stack >> >> 0]PETSC ERROR: VecAXPY() line 563 in src/vec/vec/interface/rvector.c >> [0]PETSC ERROR: MatMultAdd_ML() line 179 in src/ksp/pc/impls/ml/ml.c >> [0]PETSC ERROR: MatMultAdd() line 2041 in src/mat/interface/matrix.c >> [0]PETSC ERROR: MatInterpolateAdd() line 6535 in >> src/mat/interface/matrix.c >> [0]PETSC ERROR: PCMGMCycle_Private() line 53 in src/ksp/pc/impls/mg/mg.c >> [0]PETSC ERROR: PCMGMCycle_Private() line 50 in src/ksp/pc/impls/mg/mg.c >> [0]PETSC ERROR: PCMGMCycle_Private() line 50 in src/ksp/pc/impls/mg/mg.c >> [0]PETSC ERROR: PCApply_MG() line 288 in src/ksp/pc/impls/mg/mg.c >> [0]PETSC ERROR: PCApply() line 358 in src/ksp/pc/interface/precon.c >> [0]PETSC ERROR: KSPSolve_PREONLY() line 27 in >> src/ksp/ksp/impls/preonly/preonly.c >> [0]PETSC ERROR: KSPSolve() line 427 in src/ksp/ksp/interface/itfunc.c >> [0]PETSC ERROR: PCApply_FieldSplit() line 530 in >> src/ksp/pc/impls/fieldsplit/fieldsplit.c >> [0]PETSC ERROR: PCApply() line 358 in src/ksp/pc/interface/precon.c >> [0]PETSC ERROR: KSPInitialResidual() line 65 in >> src/ksp/ksp/interface/itres.c >> [0]PETSC ERROR: KSPSolve_GMRES() line 236 in >> src/ksp/ksp/impls/gmres/gmres.c >> [0]PETSC ERROR: KSPSolve() line 427 in src/ksp/ksp/interface/itfunc.c >> >> Can I remove this check? >> >> Thanks, >> >> Matt >> >> -- >> 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 >> > > I think x==y have to be special-cased (potential issues with arg aliasing > in BLAS?). What about: if (x==y) VecScale(x, 1+alpha) > > -- > Lisandro Dalcin > --------------- > CIMEC (INTEC/CONICET-UNL) > Predio CONICET-Santa Fe > Colectora RN 168 Km 472, Paraje El Pozo > Tel: +54-342-4511594 (ext 1011) > Tel/Fax: +54-342-4511169 > > -- 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20100616/ce383d2f/attachment.html>
