Now everything works! Thanks for such a quick fix. On 05.04.2012 15:53, Matthew Knepley wrote:
On Thu, Apr 5, 2012 at 8:05 AM, Barry Smith <[email protected] <mailto:[email protected]>> wrote:
Matt,
It doesn't look like that link line is even linking against the MKL libraries?
Dang, this is a bug with specifying --with-blas-lapack-lib, since it all gets dumped in self.lapackLib, then self.blasLib is empty. Pushed a fix to BuildSystem. Testing now.
Matt
Barry
On Apr 5, 2012, at 7:54 AM, Alexander Grayver wrote:
> On 05.04.2012 14:42, Matthew Knepley wrote: >> On Thu, Apr 5, 2012 at 7:22 AM, Alexander Grayver <[email protected] <mailto:[email protected]>> wrote: >> 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. >> >> Please ALWAYS ALWAYS ALWAYS send configure.log to [email protected] <mailto:[email protected]>. They are too >> big for the public list. > > Sorry, next time I will. > >> >> Second, your problem is that we get a link error tying to test this so it looks like >> your BLAS have no complex implementations: > > It does have zdotc. Old petsc-dev works with it fine (after I patched vec implementaton myself to get around this issue). > > home> nm /opt/intel/Compiler/11.1/072/mkl/lib/em64t/libmkl_intel_lp64.a | grep zdotc > cblas_zdotci_lp64.o: > 0000000000000000 T cblas_zdotci_sub > cblas_zdotc_lp64.o: > 0000000000000000 T cblas_zdotc_sub > U zdotc > _zdotci_lp64.o: > U mkl_blas_zdotci > 0000000000000000 T zdotci > 0000000000000000 T zdotci_ > _zdotc_lp64.o: > U mkl_blas_zdotc > 0000000000000000 T zdotc > 0000000000000000 T zdotc_ > home> > >> >> sh: /opt/mpi/intel/openmpi-1.4.2/bin/mpicc -o /tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest -wd1572 -Qoption,cpp,--extended_float_type -g /tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest.o -ldl -L/opt/mpi/intel/openmpi-1.4.2/lib -lmpi -lopen-rte -lopen-pal -lnsl -lutil -L/opt/mpi/intel/openmpi-1.4.2/lib -L/opt/intel/Compiler/11.1/072/ipp/em64t/lib -L/opt/intel/Compiler/11.1/072/mkl/interfaces/fftw3xf -L//opt/intel/Compiler/11.1/072/lib/intel64 -L/usr/lib64/gcc/x86_64-suse-linux/4.3 -L/opt/intel/Compiler/11.1/072/ipp/em64t/lib -L/opt/intel/Compiler/11.1/072/mkl/interfaces/fftw3xf -L/usr/x86_64-suse-linux/lib -limf -lsvml -lipgo -ldecimal -lgcc_s -lirc -lpthread -lirc_s -L/opt/mpi/intel/openmpi-1.4.2/lib -L/opt/intel/Compiler/11.1/072/ipp/em64t/lib -L/opt/intel/Compiler/11.1/072/mkl/interfaces/fftw3xf -L//opt/intel/Compiler/11.1/072/lib/intel64 -L/usr/lib64/gcc/x86_64-suse-linux/4.3 -L/opt/intel/Compiler/11.1/072/ipp/em64t/lib -L/opt/intel/Compiler/11.1/072/mkl/interfaces/fftw3xf -L/usr/x86_64-suse-linux/lib -ldl >> Executing: /opt/mpi/intel/openmpi-1.4.2/bin/mpicc -o /tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest -wd1572 -Qoption,cpp,--extended_float_type -g /tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest.o -ldl -L/opt/mpi/intel/openmpi-1.4.2/lib -lmpi -lopen-rte -lopen-pal -lnsl -lutil -L/opt/mpi/intel/openmpi-1.4.2/lib -L/opt/intel/Compiler/11.1/072/ipp/em64t/lib -L/opt/intel/Compiler/11.1/072/mkl/interfaces/fftw3xf -L//opt/intel/Compiler/11.1/072/lib/intel64 -L/usr/lib64/gcc/x86_64-suse-linux/4.3 -L/opt/intel/Compiler/11.1/072/ipp/em64t/lib -L/opt/intel/Compiler/11.1/072/mkl/interfaces/fftw3xf -L/usr/x86_64-suse-linux/lib -limf -lsvml -lipgo -ldecimal -lgcc_s -lirc -lpthread -lirc_s -L/opt/mpi/intel/openmpi-1.4.2/lib -L/opt/intel/Compiler/11.1/072/ipp/em64t/lib -L/opt/intel/Compiler/11.1/072/mkl/interfaces/fftw3xf -L//opt/intel/Compiler/11.1/072/lib/intel64 -L/usr/lib64/gcc/x86_64-suse-linux/4.3 -L/opt/intel/Compiler/11.1/072/ipp/em64t/lib -L/opt/intel/Compiler/11.1/072/mkl/interfaces/fftw3xf -L/usr/x86_64-suse-linux/lib -ldl >> sh: >> Possible ERROR while running linker: /tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest.o: In function `main': >> /tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest.c:14: undefined reference to `zdotc_' >> output: ret = 256 >> error message = {/tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest.o: In function `main': >> /tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest.c:14: undefined reference to `zdotc_' >> } >> >> >> Matt >> >> 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 >> >> >> >> >> -- >> 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 > > > -- > Regards, > Alexander >
-- 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
-- Regards, Alexander