On 05.04.2012 14:13, Jed Brown wrote:
On Thu, Apr 5, 2012 at 04:54, Alexander Grayver <[email protected] <mailto:[email protected]>> 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.
Please find it attached.
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.
This I can see...
#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
-- Regards, Alexander