[petsc-dev] Mistakes in GMRES code

Jack Poulson jack.poulson at gmail.com
Wed Mar 9 23:12:20 CST 2011


2011/3/9 Satish Balay <balay at mcs.anl.gov>

> Due to the configure.log etc attachments - the original e-mail didn't
> make to the list. such emails are best sent to petsc-maint at mcs
>
>
Duly noted.


> Pushed a fix [disabling dgmres for complex for now]. Please pull and
> retry.
>
>
Unfortunately the complex GMRES is exactly the reason I'm using PETSc in the
first place! Perhaps I should pop back to a few revisions ago?

Jack

On Wed, 9 Mar 2011, Jack Poulson wrote:
>
> > I ran into the following compilation errors during a build of revision
> > 18434:
> >
> > libfast in: /home/jack/Source/petsc-dev/src/ksp/ksp/impls/gmres/dgmres
> > In file included from dgmres.c:10:
> > dgmresimpl.h:32: error: ‘PetscPetscBLASInt’ has not been declared
> > dgmresimpl.h:34: error: ‘PetScalar’ has not been declared
> > dgmres.c: In function ‘PetscErrorCode
> > KSPDGMRESComputeDeflationData_DGMRES(_p_KSP*)’:
> > dgmres.c:777: error: no matching function for call to ‘VecDot(_p_Vec*&,
> > _p_Vec*&, PetscReal*)’
> > /home/jack/Source/petsc-dev/include/petscvec.h:142: note: candidates are:
> > PetscErrorCode VecDot(_p_Vec*, _p_Vec*, PetscScalar*)
> > /home/jack/Source/petsc-dev/include/petscvec.h:143: note:
> > PetscScalar VecDot(_p_Vec*, _p_Vec*)
> > dgmres.c: In function ‘PetscErrorCode
> > KSPDGMRESComputeSchurForm_DGMRES(_p_KSP*, PetscInt*)’:
> > dgmres.c:943: error: cannot convert ‘PetscReal*’ to ‘PetscScalar*’ for
> > argument ‘6’ to ‘void zhseqr_(const char*, const char*, PetscBLASInt*,
> > PetscBLASInt*, PetscBLASInt*, PetscScalar*, PetscBLASInt*, PetscScalar*,
> > PetscScalar*, PetscBLASInt*, PetscScalar*, PetscBLASInt*, PetscBLASInt*)’
> > dgmres.c:992: error: cannot convert ‘PetscReal*’ to ‘PetscScalar*’ for
> > argument ‘5’ to ‘void ztrsen_(const char*, const char*, PetscBLASInt*,
> > PetscBLASInt*, PetscScalar*, PetscBLASInt*, PetscScalar*, PetscBLASInt*,
> > PetscScalar*, PetscBLASInt*, PetscReal*, PetscReal*, PetscScalar*,
> > PetscBLASInt*, PetscBLASInt*)’
> > dgmres.c: In function ‘PetscErrorCode
> > KSPDGMRESApplyDeflation_DGMRES(_p_KSP*, _p_Vec*, _p_Vec*)’:
> > dgmres.c:1055: error: cannot convert ‘PetscReal*’ to ‘PetscScalar*’ for
> > argument ‘13’ to ‘void zgerfs_(const char*, PetscBLASInt*, PetscBLASInt*,
> > PetscScalar*, PetscBLASInt*, PetscScalar*, PetscBLASInt*, PetscBLASInt*,
> > PetscScalar*, PetscBLASInt*, PetscScalar*, PetscBLASInt*, PetscScalar*,
> > PetscScalar*, PetscScalar*, PetscReal*, PetscBLASInt*)’
> > dgmres.c:1059: error: no match for ‘operator/’ in
> ‘*(dgmres->KSP_DGMRES::x1
> > + ((unsigned int)(((unsigned int)i) * 16u))) / lambda’
> > dgmres.c: In function ‘PetscErrorCode KSPDGMRESImproveEig_DGMRES(_p_KSP*,
> > PetscInt)’:
> > dgmres.c:1156: error: cannot convert ‘PetscScalar*’ to ‘PetscReal*’ for
> > argument ‘6’ to ‘void zgges_(const char*, const char*, const char*,
> void**,
> > PetscBLASInt*, PetscReal*, int*, PetscReal*, PetscBLASInt*,
> PetscBLASInt*,
> > PetscReal*, PetscReal*, PetscReal*, PetscBLASInt*, PetscReal*,
> > PetscBLASInt*, PetscReal*, PetscBLASInt*, PetscBLASInt*, PetscBLASInt*)’
> > dgmres.c:1213: error: cannot convert ‘PetscScalar*’ to ‘int*’ for
> argument
> > ‘8’ to ‘void ztgsen_(PetscBLASInt*, PetscBLASInt*, PetscBLASInt*,
> > PetscBLASInt*, PetscBLASInt*, PetscScalar*, PetscBLASInt*, int*,
> > PetscBLASInt*, PetscScalar*, PetscScalar*, PetscScalar*, PetscBLASInt*,
> > PetscScalar*, PetscBLASInt*, PetscBLASInt*, PetscReal*, PetscReal*,
> > PetscReal*, PetscReal*, PetscBLASInt*, PetscBLASInt*, PetscBLASInt*,
> > PetscBLASInt*)’
> > /usr/bin/ar: dgmres.o: No such file or directory
> >
> > Is this a known issue? The commit log for this revision is conspicuously
> > related:
> > date:        Wed Mar 09 15:45:12 2011 -0600
> > summary:     c++ build fixes for gdmres
> >
> > Jack
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110309/4f93d421/attachment.html>


More information about the petsc-dev mailing list