[petsc-users] MKL BLAS interface inconsistency

Jed Brown jedbrown at mcs.anl.gov
Thu Apr 5 07:13:35 CDT 2012


On Thu, Apr 5, 2012 at 04:54, Alexander Grayver <agrayver at gfz-potsdam.de>wrote:

> The inconsistency is still there. I pulled petsc-dev today and came across
> with the same problem:
>
> src/vec/vec/impls/seq/bvec2.c
> 239:    *z = PetscRealPart(BLASdot_(&bn,xx,**&one,xx,&one));
> 240:    *z = PetscSqrtReal(*z);
>
> This doesn't work with Intel MKL. However in one of the mailing list
> discussions it was said there is now check for that.
> This check didn't work for me apparently. Any ideas why?
>

As always, we need configure.log.

In include/petscblaslapack_uscore.h (and other places), you will find the
following. So we need to know why PETSC_COMPLEX_DOT_RESULT_ARGUMENT was not
found by configure.

#ifdef PETSC_COMPLEX_DOT_RESULT_ARGUMENT
EXTERN_C_BEGIN
extern void zdotc_(PetscScalar *,const PetscBLASInt*,const
PetscScalar*,const PetscBLASInt*,const PetscScalar*,const PetscBLASInt*);
PETSC_STATIC_INLINE PetscScalar BLASdot_(const PetscBLASInt *n,const
PetscScalar *x,const PetscBLASInt *sx,const PetscScalar *y,const
PetscBLASInt *sy) {
  PetscScalar tmpz;
  zdotc_(&tmpz,n,x,sx,y,sy);
  return tmpz;
}
EXTERN_C_END
#else
#  define BLASdot_     zdotc_
#endif
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120405/10025d7a/attachment.htm>


More information about the petsc-users mailing list