On Thu, Apr 5, 2012 at 8:05 AM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Matt,<br>
<br>
It doesn't look like that link line is even linking against the MKL libraries?</blockquote><div><br></div><div>Dang, this is a bug with specifying --with-blas-lapack-lib, since it all gets dumped in</div><div>self.lapackLib, then self.blasLib is empty. Pushed a fix to BuildSystem. Testing now.</div>
<div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888"><br>
Barry<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Apr 5, 2012, at 7:54 AM, Alexander Grayver wrote:<br>
<br>
> On 05.04.2012 14:42, Matthew Knepley wrote:<br>
>> On Thu, Apr 5, 2012 at 7:22 AM, Alexander Grayver <<a href="mailto:agrayver@gfz-potsdam.de">agrayver@gfz-potsdam.de</a>> wrote:<br>
>> On 05.04.2012 14:13, Jed Brown wrote:<br>
>>> On Thu, Apr 5, 2012 at 04:54, Alexander Grayver <<a href="mailto:agrayver@gfz-potsdam.de">agrayver@gfz-potsdam.de</a>> wrote:<br>
>>> The inconsistency is still there. I pulled petsc-dev today and came across with the same problem:<br>
>>><br>
>>> src/vec/vec/impls/seq/bvec2.c<br>
>>> 239: *z = PetscRealPart(BLASdot_(&bn,xx,&one,xx,&one));<br>
>>> 240: *z = PetscSqrtReal(*z);<br>
>>><br>
>>> This doesn't work with Intel MKL. However in one of the mailing list discussions it was said there is now check for that.<br>
>>> This check didn't work for me apparently. Any ideas why?<br>
>>><br>
>>> As always, we need configure.log.<br>
>>><br>
>> Please find it attached.<br>
>><br>
>> Please ALWAYS ALWAYS ALWAYS send configure.log to <a href="mailto:petsc-maint@mcs.anl.gov">petsc-maint@mcs.anl.gov</a>. They are too<br>
>> big for the public list.<br>
><br>
> Sorry, next time I will.<br>
><br>
>><br>
>> Second, your problem is that we get a link error tying to test this so it looks like<br>
>> your BLAS have no complex implementations:<br>
><br>
> It does have zdotc. Old petsc-dev works with it fine (after I patched vec implementaton myself to get around this issue).<br>
><br>
> home> nm /opt/intel/Compiler/11.1/072/mkl/lib/em64t/libmkl_intel_lp64.a | grep zdotc<br>
> cblas_zdotci_lp64.o:<br>
> 0000000000000000 T cblas_zdotci_sub<br>
> cblas_zdotc_lp64.o:<br>
> 0000000000000000 T cblas_zdotc_sub<br>
> U zdotc<br>
> _zdotci_lp64.o:<br>
> U mkl_blas_zdotci<br>
> 0000000000000000 T zdotci<br>
> 0000000000000000 T zdotci_<br>
> _zdotc_lp64.o:<br>
> U mkl_blas_zdotc<br>
> 0000000000000000 T zdotc<br>
> 0000000000000000 T zdotc_<br>
> home><br>
><br>
>><br>
>> 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<br>
>> 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<br>
>> sh:<br>
>> Possible ERROR while running linker: /tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest.o: In function `main':<br>
>> /tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest.c:14: undefined reference to `zdotc_'<br>
>> output: ret = 256<br>
>> error message = {/tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest.o: In function `main':<br>
>> /tmp/petsc-8AEO1f/config.packages.BlasLapack/conftest.c:14: undefined reference to `zdotc_'<br>
>> }<br>
>><br>
>><br>
>> Matt<br>
>><br>
>> 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.<br>
>><br>
>> This I can see...<br>
>><br>
>><br>
>>><br>
>>> #ifdef PETSC_COMPLEX_DOT_RESULT_ARGUMENT<br>
>>> EXTERN_C_BEGIN<br>
>>> extern void zdotc_(PetscScalar *,const PetscBLASInt*,const PetscScalar*,const PetscBLASInt*,const PetscScalar*,const PetscBLASInt*);<br>
>>> PETSC_STATIC_INLINE PetscScalar BLASdot_(const PetscBLASInt *n,const PetscScalar *x,const PetscBLASInt *sx,const PetscScalar *y,const PetscBLASInt *sy) {<br>
>>> PetscScalar tmpz;<br>
>>> zdotc_(&tmpz,n,x,sx,y,sy);<br>
>>> return tmpz;<br>
>>> }<br>
>>> EXTERN_C_END<br>
>>> #else<br>
>>> # define BLASdot_ zdotc_<br>
>>> #endif<br>
>><br>
>><br>
>><br>
>> --<br>
>> Regards,<br>
>> Alexander<br>
>><br>
>><br>
>><br>
>><br>
>> --<br>
>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
>> -- Norbert Wiener<br>
><br>
><br>
> --<br>
> Regards,<br>
> Alexander<br>
><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>