<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Keith, in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970385#M16534</link>
    <description>&lt;P&gt;Keith,&lt;/P&gt;
&lt;P&gt;Any chances that this is a bug in gfortran? Your test passes with -O0.&lt;/P&gt;
&lt;P&gt;Thanks&lt;BR /&gt;Dima&lt;/P&gt;</description>
    <pubDate>Fri, 01 Nov 2013 06:29:04 GMT</pubDate>
    <dc:creator>Dmitry_B_Intel</dc:creator>
    <dc:date>2013-11-01T06:29:04Z</dc:date>
    <item>
      <title>gfortran+MKL+zdotc =&gt; CRASH</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970380#M16529</link>
      <description>&lt;P&gt;I have discovered a crash/bug when attempting to link a fortran program compiled using gfortran 4.7.2 against MKL in 32-bit mode.&lt;/P&gt;
&lt;P&gt;The symptoms are that the BLAS function ZDOTC returns an incorrect result -&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ZDOTC returned&amp;nbsp; (&amp;nbsp; 0.0000000000000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp; 1.5907197451559738E-314)&amp;nbsp;&amp;nbsp; Expected&amp;nbsp; (-0.75000000000000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp; 1.0000000000000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/P&gt;
&lt;P&gt;This is in fact the output of a test I inserted in my code some time ago to guard against linking with LAPACK and BLAS with an incompatible calling convention (eg g77 vs ifort) , and it is being triggered when I link a gfortran compile against MKL in 32-bit mode.&lt;/P&gt;
&lt;P&gt;My link line contains&lt;/P&gt;
&lt;P&gt;&amp;nbsp;-L"/opt/intel/composer_xe_2011_sp1.11.339/mkl/lib/ia32"&amp;nbsp; -Wl,--start-group -lmkl_gf -lmkl_core -lmkl_sequential -Wl,--end-group&lt;/P&gt;
&lt;P&gt;as recommended by the link adviser, and succeeds without any warnings.&lt;/P&gt;
&lt;P&gt;The fault occurs with both MKL 10.3.11 and 11.0.1, and with gfortran 4.7.2, on x86_64 linux.&lt;/P&gt;
&lt;P&gt;It does NOT happen in "intel64" mode with the same versions of the compilers and libraries.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The error is NOT triggered when linking the same object files against either OpenBLAS or ACML.&lt;/P&gt;
&lt;P&gt;It occurs irrespective of whether the link is with static or shared libraries.&lt;/P&gt;
&lt;P&gt;The zdotc test itself has not given a false positive yet when used with a wide suite of compilers and libraries, so I don't think it is wrong now (and in any case the result of commenting out the check is a segfault).FYI it declares ZDOTC with the interface&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; interface&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function zdotc(N, X, INCX, Y, INCY)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use constants, only : dp&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer :: n, incx, incy&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; complex(kind=dp), dimension(*) :: X, Y&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; complex(kind=dp) :: zdotc&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end function zdotc&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end interface&lt;/P&gt;
&lt;P&gt;(where dp = 8) and simply calls it with a short vector, testing the result against the expected value.&lt;/P&gt;
&lt;P&gt;I suspect a bug in libmkl_gf, or an incompatibility with this version of GNU fortran.&amp;nbsp; Can anyone enlighten me or confirm or deny my suspicion?&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Keith Refson&lt;/P&gt;</description>
      <pubDate>Wed, 30 Oct 2013 18:17:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970380#M16529</guid>
      <dc:creator>Keith_R_</dc:creator>
      <dc:date>2013-10-30T18:17:46Z</dc:date>
    </item>
    <item>
      <title>Can you please upload your</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970381#M16530</link>
      <description>&lt;P&gt;Can you please upload your test code and the input data to zdotc, so we can try to reproduce this problem?&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Wed, 30 Oct 2013 19:08:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970381#M16530</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2013-10-30T19:08:05Z</dc:date>
    </item>
    <item>
      <title>Here is the test. </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970382#M16531</link>
      <description>&lt;P&gt;Here is the test.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ifort -O1 -o blas_link_test.if32 blas_link_test.f90 -mkl=sequential&lt;/P&gt;
&lt;P&gt;$ ./blas_link_test.if32&lt;BR /&gt;&amp;nbsp; BLAS Link test passed&lt;/P&gt;
&lt;P&gt;$ gfortran -O3 -o blas_link_test.gf32-acml -m32 blas_link_test.f90&amp;nbsp; -L/opt/acml4.4.0/gfortran32/lib -lacml&lt;BR /&gt;[kr@kohn MKL_GF_BLAS]$ ./blas_link_test.gf32-acml&lt;BR /&gt;&amp;nbsp; BLAS Link test passed&lt;BR /&gt;$ gfortran -O1 -o blas_link_test.gf32-ob -m32 blas_link_test.f90 -L/usr/local/lib32gfortran -lopenblas&lt;BR /&gt;[kr@kohn MKL_GF_BLAS]$ ./blas_link_test.gf32-ob&lt;BR /&gt;&amp;nbsp; BLAS Link test passed&lt;BR /&gt;$ gfortran -O3 -o blas_link_test.gf32.mkl -m32 blas_link_test.f90 -lmkl_gf -lmkl_core -lmkl_sequential&lt;BR /&gt;[kr@kohn MKL_GF_BLAS]$ ./blas_link_test.gf32.mkl&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; C A S T E P&amp;nbsp;&amp;nbsp;&amp;nbsp; C O M P I L A T I O N&amp;nbsp;&amp;nbsp;&amp;nbsp; E R R O R&amp;nbsp;&amp;nbsp;&amp;nbsp; D E T E C T E D&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; C A S T E P&amp;nbsp;&amp;nbsp;&amp;nbsp; C O M P I L A T I O N&amp;nbsp;&amp;nbsp;&amp;nbsp; E R R O R&amp;nbsp;&amp;nbsp;&amp;nbsp; D E T E C T E D&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; An internal test has determined that this CASTEP executable is &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; faulty and can not be used. The run has been ABORTED.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ZDOTC returned&amp;nbsp; (&amp;nbsp; 2.0439333122041759E-314,&amp;nbsp; 1.5907197451559738E-314)&amp;nbsp;&amp;nbsp; Expected&amp;nbsp; (-0.75000000000000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp; 1.0000000000000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; A test of correct functioning of ZDOTC has FAILED.&amp;nbsp; Most likely &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this is because the CASTEP executable was linked against a BLAS &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; library with an incompatible calling convention. &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Please see file README.INSTALL in source code for more information.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; C A S T E P&amp;nbsp;&amp;nbsp;&amp;nbsp; C O M P I L A T I O N&amp;nbsp;&amp;nbsp;&amp;nbsp; E R R O R&amp;nbsp;&amp;nbsp;&amp;nbsp; D E T E C T E D&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; C A S T E P&amp;nbsp;&amp;nbsp;&amp;nbsp; C O M P I L A T I O N&amp;nbsp;&amp;nbsp;&amp;nbsp; E R R O R&amp;nbsp;&amp;nbsp;&amp;nbsp; D E T E C T E D&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; C A S T E P&amp;nbsp;&amp;nbsp;&amp;nbsp; C O M P I L A T I O N&amp;nbsp;&amp;nbsp;&amp;nbsp; E R R O R&amp;nbsp;&amp;nbsp;&amp;nbsp; D E T E C T E D&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; C A S T E P&amp;nbsp;&amp;nbsp;&amp;nbsp; C O M P I L A T I O N&amp;nbsp;&amp;nbsp;&amp;nbsp; E R R O R&amp;nbsp;&amp;nbsp;&amp;nbsp; D E T E C T E D&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; An internal test has determined that this CASTEP executable is &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; faulty and can not be used. The run has been ABORTED.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ZDOTC returned&amp;nbsp; (&amp;nbsp; 2.0439333122041759E-314,&amp;nbsp; 1.5907197451559738E-314)&amp;nbsp;&amp;nbsp; Expected&amp;nbsp; (-0.75000000000000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp; 1.0000000000000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; A test of correct functioning of ZDOTC has FAILED. &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Most likely this is because the CASTEP executable was linked &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; against a BLAS library with an incompatible calling convention. &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Please see file README.INSTALL in source code for more information.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; C A S T E P&amp;nbsp;&amp;nbsp;&amp;nbsp; C O M P I L A T I O N&amp;nbsp;&amp;nbsp;&amp;nbsp; E R R O R&amp;nbsp;&amp;nbsp;&amp;nbsp; D E T E C T E D&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; C A S T E P&amp;nbsp;&amp;nbsp;&amp;nbsp; C O M P I L A T I O N&amp;nbsp;&amp;nbsp;&amp;nbsp; E R R O R&amp;nbsp;&amp;nbsp;&amp;nbsp; D E T E C T E D&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Program received signal SIGSEGV: Segmentation fault - invalid memory reference.&lt;BR /&gt;&lt;BR /&gt;Backtrace for this error:&lt;BR /&gt;#0&amp;nbsp; 0xF69A5C9B&lt;BR /&gt;#1&amp;nbsp; 0xF69A62EC&lt;BR /&gt;#2&amp;nbsp; 0xF77A13FF&lt;BR /&gt;#3&amp;nbsp; 0x0&lt;BR /&gt;Segmentation fault&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 31 Oct 2013 10:36:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970382#M16531</guid>
      <dc:creator>Keith_R_</dc:creator>
      <dc:date>2013-10-31T10:36:42Z</dc:date>
    </item>
    <item>
      <title>gfortran -O3 -o blas_link</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970383#M16532</link>
      <description>&lt;P&gt;gfortran -O3 -o blas_link_test.gf32.mkl -m32 -L/opt/intel/composer_xe_2013_sp1.1.106/mkl/lib/ia32/ blas-link-test.f90 -lmkl_gf -lmkl_core -lmkl_sequential&lt;/P&gt;
&lt;P&gt;export LD_LIBRARY_PATH=/usr/local/gcc-4.9/lib:/opt/intel/composer_xe_2013_sp1.1.106/mkl/lib/ia32/:$LD_LIBRARY_PATH&lt;/P&gt;
&lt;P&gt;$ ./blas_link_test.gf32.mkl&lt;BR /&gt;&amp;nbsp; BLAS Link test passed&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 31 Oct 2013 12:48:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970383#M16532</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2013-10-31T12:48:08Z</dc:date>
    </item>
    <item>
      <title>Keith,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970384#M16533</link>
      <description>&lt;P&gt;Keith,&lt;/P&gt;
&lt;P&gt;I was NOT able to reproduce your problem using either MKL 11.0.1 or the latest MKL 11.1. I used the same command line and compile/link options you used. The test passed. Here's my system configuration info:&lt;/P&gt;
&lt;P&gt;CPU: Intel(R) Xeon(R) CPU E5540 &lt;BR /&gt;OS: RHEL 6.0 (Linux kernel 2.6.32-71.el6.x86_64)&lt;BR /&gt;GLIBC version: 2.12&lt;BR /&gt;&lt;STRONG&gt;gfortran version: 4.4.4&lt;/STRONG&gt;&lt;BR /&gt;Intel MKL: 11.0.1 or 11.1&lt;/P&gt;
&lt;P&gt;Note that you used gfortran 4.7.2, but I used gfortran 4.4.4. I do not have a system with gfortran 4.7.2 readily available. But I doubt this would make a difference. &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 31 Oct 2013 19:00:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970384#M16533</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2013-10-31T19:00:38Z</dc:date>
    </item>
    <item>
      <title>Keith,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970385#M16534</link>
      <description>&lt;P&gt;Keith,&lt;/P&gt;
&lt;P&gt;Any chances that this is a bug in gfortran? Your test passes with -O0.&lt;/P&gt;
&lt;P&gt;Thanks&lt;BR /&gt;Dima&lt;/P&gt;</description>
      <pubDate>Fri, 01 Nov 2013 06:29:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970385#M16534</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2013-11-01T06:29:04Z</dc:date>
    </item>
    <item>
      <title>I have just tested the most</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970386#M16535</link>
      <description>&lt;P&gt;I have just tested the most obvious possibility for the discrepancy between the behaviour you and I see. It does appear that the version of gfortran is the relevant variable.&lt;/P&gt;
&lt;P&gt;Gfortran versions 4.3.6, 4.4.7, 4.5.3, 4.6.1, 4.8.2 and 4.9 development versions all pass the test.&amp;nbsp; Gfortran 4.7.x always fails.&lt;/P&gt;
&lt;P&gt;(The prebuilt executable snapshots at gfortran.com are very useful for testing!)&lt;/P&gt;
&lt;P&gt;I wonder what could be the origin of the bug, and why only the specific combination of this version of gfortran and MKL fails. It can't be as simple as generating a bad calling sequence as it succeeds when linking against ACML and OpenBLAS.&amp;nbsp; I will try the gfortran mailing list to see if anyone there can shed light on this.&lt;/P&gt;
&lt;P&gt;K.&lt;/P&gt;</description>
      <pubDate>Tue, 05 Nov 2013 07:54:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/gfortran-MKL-zdotc-gt-CRASH/m-p/970386#M16535</guid>
      <dc:creator>Keith_R_</dc:creator>
      <dc:date>2013-11-05T07:54:42Z</dc:date>
    </item>
  </channel>
</rss>

