<?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 I thought that maybe I had to in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065807#M21923</link>
    <description>&lt;P&gt;I thought that maybe I had to instruct lapack to use double precision. so I put this in my code:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;PROGRAM Eigen

USE F95_PRECISION, ONLY: WP =&amp;gt; DP
USE lapack95

IMPLICIT NONE
.
.
&lt;/PRE&gt;

&lt;P&gt;But the output is still the same:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;$ ifort Eigen.f90 -real-size 64 -mkl -lmkl_lapack95_ilp64
$ ./a.out 

Intel MKL INTERNAL ERROR: Insufficient workspace available in function SYEVD.&lt;/PRE&gt;

&lt;P&gt;I don't understand what I'm doing wrong.&lt;/P&gt;</description>
    <pubDate>Mon, 23 May 2016 06:33:00 GMT</pubDate>
    <dc:creator>Vishnu</dc:creator>
    <dc:date>2016-05-23T06:33:00Z</dc:date>
    <item>
      <title>lapack95 errors</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065793#M21909</link>
      <description>&lt;P&gt;I am trying to use an eigenvalue routine through the lapack95 interface of the mkl. But I end up with this:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;$ ifort Eigen.f90 -mkl

/opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/include/lapack.f90(28): error #6218: This statement is positioned incorrectly and/or has syntax errors.
MODULE F95_PRECISION
^
/opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/include/lapack.f90(31): error #6790: This is an invalid statement; an END [PROGRAM]  statement is required.
END MODULE F95_PRECISION
^
/opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/include/lapack.f90(31): error #6785: This name does not match the unit name.   [F95_PRECISION]
END MODULE F95_PRECISION
-----------^
Eigen.f90(86): error #6785: This name does not match the unit name.   [EIGEN]
END PROGRAM Eigen
------------^
Eigen.f90(23): warning #5427: Program may contain only one main entry routine
IMPLICIT NONE
^
compilation aborted for Eigen.f90 (code 1)&lt;/PRE&gt;

&lt;P&gt;Also, in the program, I have:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;PROGRAM Eigen

INCLUDE 'mkl.fi'
INCLUDE 'lapack.f90'

IMPLICIT NONE
.
.
.&lt;/PRE&gt;

&lt;P&gt;Any idea what the trouble might be?&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 May 2016 21:40:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065793#M21909</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-17T21:40:47Z</dc:date>
    </item>
    <item>
      <title>Hi Vishnu,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065794#M21910</link>
      <description>&lt;P&gt;Hi Vishnu,&lt;/P&gt;

&lt;P&gt;The lapack.f90 file is not supposed to be included inside a program/subroutine/function. Either compile it separately, and then 'use lapack95' inside your program, or put the include statement outside of the program, at file level (possibly replacing include with #include and preprocessing the file).&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	Dima&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 03:54:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065794#M21910</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2016-05-18T03:54:46Z</dc:date>
    </item>
    <item>
      <title>Quote:Dmitry Baksheev (Intel)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065795#M21911</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Dmitry Baksheev (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Hi Vishnu,&lt;/P&gt;

&lt;P&gt;The lapack.f90 file is not supposed to be included inside a program/subroutine/function. Either compile it separately, and then 'use lapack95' inside your program, or put the include statement outside of the program, at file level (possibly replacing include with #include and preprocessing the file).&lt;/P&gt;

&lt;P&gt;Dima&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I don't understand what you mean by compile it separately. Is this what you mean: ?&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;$ ifort lapack.f90 -mkl
/opt/intel/compilers_and_libraries_2016.3.210/linux/compiler/lib/intel64_lin/for_main.o: In function `main':
for_main.c:(.text+0x2a): undefined reference to `MAIN__'&lt;/PRE&gt;

&lt;P&gt;Also, where should I put the 'USE lapack95' statement? Before 'IMPLICIT', or after?&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 06:18:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065795#M21911</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-18T06:18:51Z</dc:date>
    </item>
    <item>
      <title>The purpose of compiling</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065796#M21912</link>
      <description>&lt;P&gt;The purpose of compiling lapack.f90 is to generate a module. You left out the -c option in the command line of #3, so after compiling the compiler driver attempted to link and produce an executable. Nevertheless, the desired .mod file will have been generated, as you can see by asking for a directory listing. Therefore, you can &amp;nbsp;proceed to add the USE &amp;nbsp;statement to those programs that you wish to have that feature.&lt;/P&gt;

&lt;P&gt;USE statements must come before any declarations, and you would fare better by consulting your Fortran language documentation or text books to resolve such questions.&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 11:12:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065796#M21912</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2016-05-18T11:12:23Z</dc:date>
    </item>
    <item>
      <title>Quote:mecej4 wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065797#M21913</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;mecej4 wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;The purpose of compiling lapack.f90 is to generate a module. You left out the -c option in the command line of #3, so after compiling the compiler driver attempted to link and produce an executable. Nevertheless, the desired .mod file will have been generated, as you can see by asking for a directory listing. Therefore, you can &amp;nbsp;proceed to add the USE &amp;nbsp;statement to those programs that you wish to have that feature.&lt;/P&gt;

&lt;P&gt;USE statements must come before any declarations, and you would fare better by consulting your Fortran language documentation or text books to resolve such questions.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Oh! I see. I did it with the '-c' and it gives no errors.&lt;/P&gt;

&lt;P&gt;Now, when I compile my program, I get these errors:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;$ ifort Eigen.f90 -mkl
Eigen.f90(24): error #6222: This IMPLICIT statement is not positioned correctly within the scoping unit.
IMPLICIT NONE
^
Eigen.f90(60): error #6236: A specification statement cannot appear in the executable section.
USE lapack95
^
compilation aborted for Eigen.f90 (code 1)&lt;/PRE&gt;

&lt;P&gt;The program is structures as follows:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;PROGRAM Eigen

INCLUDE 'mkl.fi'

IMPLICIT NONE
.
.
.
USE lapack95
CALL syevd(M,E)
.
.&lt;/PRE&gt;

&lt;P&gt;Problem is, I can't seem to find good enough documentation for the lapack95 interface.&lt;/P&gt;

&lt;P&gt;Thanks a lot!&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 13:32:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065797#M21913</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-18T13:32:00Z</dc:date>
    </item>
    <item>
      <title>I gave you the answer in the</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065798#M21914</link>
      <description>&lt;P&gt;I gave you the answer in the second paragraph of #4.&lt;/P&gt;

&lt;P&gt;Documentation is sometimes "good enough", but only after it gets read!&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 18:52:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065798#M21914</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2016-05-18T18:52:40Z</dc:date>
    </item>
    <item>
      <title>Quote:mecej4 wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065799#M21915</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;mecej4 wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I gave you the answer in the second paragraph of #4.&lt;/P&gt;

&lt;P&gt;Documentation is sometimes "good enough", but only after it gets read!&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Oh! sorry. I thought you meant that I should put the 'USE' statement just before the 'CALL' declaration. Now, I get this:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;$ ifort Eigen.f90 -mkl
Eigen.f90(22): error #6278: This USE statement is not positioned correctly within the scoping unit.
USE lapack95
^
Eigen.f90(24): error #6222: This IMPLICIT statement is not positioned correctly within the scoping unit.
IMPLICIT NONE
^
compilation aborted for Eigen.f90 (code 1)&lt;/PRE&gt;

&lt;P&gt;when I have the following structure:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;PROGRAM Eigen

INCLUDE 'mkl.fi'
USE lapack95

IMPLICIT NONE
.
.
CALL syevd(M,E)
.
.&lt;/PRE&gt;

&lt;P&gt;The two pieces of documentation I found (that were relavant to lapack95) were: &lt;A href="https://software.intel.com/en-us/node/468668"&gt;F95 Interface&lt;/A&gt; and &lt;A href="https://software.intel.com/en-us/node/469180"&gt;?syevd&lt;/A&gt; . Neither talk about how to use USE statements.&lt;/P&gt;

&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 19:12:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065799#M21915</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-18T19:12:05Z</dc:date>
    </item>
    <item>
      <title>Remove the "Include" line,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065800#M21916</link>
      <description>&lt;P&gt;Remove the "Include" line, which is now redundant (and, considering its contents, out of order as well).&lt;/P&gt;

&lt;P&gt;The relevant documentation is a Fortran manual/book.&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 19:28:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065800#M21916</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2016-05-18T19:28:34Z</dc:date>
    </item>
    <item>
      <title>I'm really sorry that I keep</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065801#M21917</link>
      <description>&lt;P&gt;I'm really sorry that I keep asking. I tried it without including the 'mkl.fi' then:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;$ ifort Eigen.f90 
/tmp/ifortAD9igx.o: In function `MAIN__':
Eigen.f90:(.text+0xb46): undefined reference to `ssyevd_f95_'

$ ifort Eigen.f90 -mkl
/tmp/ifortSIN02R.o: In function `MAIN__':
Eigen.f90:(.text+0xb46): undefined reference to `ssyevd_f95_'&lt;/PRE&gt;

&lt;P&gt;Why is the reference to 'ssyevd_f95_' undefined? The files that are present in the working directory right now (after I compiling the lapack.f90 from the mkl folder) are: &lt;EM&gt;f95_precision.mod&lt;/EM&gt;&amp;nbsp; and&amp;nbsp; &lt;EM&gt;lapack95.mod&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 21 May 2016 10:48:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065801#M21917</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-21T10:48:41Z</dc:date>
    </item>
    <item>
      <title>The errors in #9 are linker</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065802#M21918</link>
      <description>&lt;P&gt;The errors in #9 are linker errors, rather than the compiler errors that you encountered earlier. Lapack-95 routines are not contained in the default MKL libraries that the -mkl flag causes to be searched. Please consult the MKL line-line advisor,&amp;nbsp;https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/ .&lt;/P&gt;

&lt;P&gt;The name of the Lapack-95 library depends on the target architecture, and I do not know which one you are using. The link-line advisor will take care of the combinations for you.&lt;/P&gt;</description>
      <pubDate>Sat, 21 May 2016 13:46:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065802#M21918</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2016-05-21T13:46:00Z</dc:date>
    </item>
    <item>
      <title>Quote:mecej4 wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065804#M21920</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;mecej4 wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;The errors in #9 are linker errors, rather than the compiler errors that you encountered earlier. Lapack-95 routines are not contained in the default MKL libraries that the -mkl flag causes to be searched. Please consult the MKL line-line advisor,&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Thanks a lot! That was the problem. It works now!!&lt;/P&gt;</description>
      <pubDate>Sat, 21 May 2016 21:22:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065804#M21920</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-21T21:22:22Z</dc:date>
    </item>
    <item>
      <title>Quote:John Nichols wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065805#M21921</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;John Nichols wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;If you have a look at the BORR.ZIP files included in a post on this site - somewhere -- you will see the method to solve for EIGENVALUES using FEAST -- it is really straight forward --&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Oh! didn't know about this. Thanks for telling me about it. The FEAST &lt;A href="http://www.ecs.umass.edu/~polizzi/feast/"&gt;page&lt;/A&gt; says that it is included in MKL. So then wouldn't that be simpler?&lt;/P&gt;</description>
      <pubDate>Sat, 21 May 2016 21:25:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065805#M21921</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-21T21:25:40Z</dc:date>
    </item>
    <item>
      <title>The link line advisor</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065806#M21922</link>
      <description>&lt;P&gt;The link line advisor suggests the following:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;ifort Eigen.f90 -lmkl_intel_ilp64 -lmkl_core -lmkl_sequential -lpthread -lm -ldl&lt;/PRE&gt;

&lt;P&gt;But using that doesn't help. It gives me lots of errors. I can't even find what some of the options mean in the Intel Fortran Compiler User &amp;amp; Reference Guide. for eg. why load `-lm` when intel has math libs? etc.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;What worked was the following (ref: Example 6 in:&amp;nbsp;&lt;A href="http://sc.tamu.edu/help/eos/mathlib.php"&gt;http://sc.tamu.edu/help/eos/mathlib.php&lt;/A&gt; )&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;$ ifort Eigen.f90 -mkl -lmkl_lapack95_lp64&lt;/PRE&gt;

&lt;P&gt;But if you will notice, it uses single precision (since I use default REALs in my code). To use double, I tried:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;$ ifort Eigen.f90 -real-size 64 -mkl -lmkl_lapack95_ilp64&lt;/PRE&gt;

&lt;P&gt;But executing it resulted in the following error:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;$ ./a.out 

Intel MKL INTERNAL ERROR: Insufficient workspace available in function SYEVD.&lt;/PRE&gt;

&lt;P&gt;Why is that so? Am I missing some allocation procedure? Should I write my code with explicit KIND_8 values instead of asking the compiler to set: `-real-size 64` ? If so why doesn't it work?&lt;/P&gt;

&lt;P&gt;Thanks a lot!&lt;/P&gt;</description>
      <pubDate>Mon, 23 May 2016 05:12:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065806#M21922</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-23T05:12:00Z</dc:date>
    </item>
    <item>
      <title>I thought that maybe I had to</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065807#M21923</link>
      <description>&lt;P&gt;I thought that maybe I had to instruct lapack to use double precision. so I put this in my code:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;PROGRAM Eigen

USE F95_PRECISION, ONLY: WP =&amp;gt; DP
USE lapack95

IMPLICIT NONE
.
.
&lt;/PRE&gt;

&lt;P&gt;But the output is still the same:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;$ ifort Eigen.f90 -real-size 64 -mkl -lmkl_lapack95_ilp64
$ ./a.out 

Intel MKL INTERNAL ERROR: Insufficient workspace available in function SYEVD.&lt;/PRE&gt;

&lt;P&gt;I don't understand what I'm doing wrong.&lt;/P&gt;</description>
      <pubDate>Mon, 23 May 2016 06:33:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065807#M21923</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-23T06:33:00Z</dc:date>
    </item>
    <item>
      <title>I am very sorry. I missed</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065808#M21924</link>
      <description>&lt;P&gt;I am very sorry. I missed something from the linking advisor. It works now with:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;ifort Eigen.f90 -real-size 64 -lmkl_lapack95_ilp64 -lmkl_intel_ilp64 -lmkl_core -lmkl_sequential -lpthread -lm -ldl&lt;/PRE&gt;

&lt;P&gt;Do you know where I can look up these options: -lpthread -lm -ldl , and why they're required when using intel fortran?&lt;/P&gt;</description>
      <pubDate>Mon, 23 May 2016 08:57:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065808#M21924</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-23T08:57:00Z</dc:date>
    </item>
    <item>
      <title>Quote:Vishnu wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065809#M21925</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Vishnu wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;What worked was the following (ref: Example 6 in:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="http://sc.tamu.edu/help/eos/mathlib.php" rel="nofollow" style="font-size: 1em; line-height: 1.5;"&gt;http://sc.tamu.edu/help/eos/mathlib.php&lt;/A&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt; )&lt;/SPAN&gt;&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;$ ifort Eigen.f90 -mkl -lmkl_lapack95_lp64&lt;/PRE&gt;

&lt;P&gt;But if you will notice, it uses single precision (since I use default REALs in my code). To use double, I tried:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;

&lt;P&gt;That is wrong, and based on a misunderstanding. The LP64 libraries are suitable for use from Fortran and C code in which integer-type arguments to MKL routines are 32-bit integers. On the other hand, the ILP64 libraries are meant for use when integer-type arguments are 64-bit integers.&lt;/P&gt;

&lt;P&gt;Both sets of libraries contain all the relevant siblings in a family of routines: for example, GEMV in Lapack95 resolves to one of the Lapack routines SGEMV, DGEMV, CGEMV, ZGEMV, SCGEMV or DZGEMV, depending on whether the non-integer, non-character subroutine arguments are REAL, DOUBLE PRECISION, COMPLEX, DOUBLE COMPLEX, etc.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;It is completely wrong to think that you should choose LP64 or ILP64 depending on whether you wish to use 32-bit reals or 64-bit reals. So far, you have said nothing to indicate that you need to use ILP64. Avoid making a mess by not using ILP64 until you truly need it. In fact, you may do well to use the 32-bit compiler and use 32-bit IA32 libraries until you get over your teething troubles.&lt;/P&gt;</description>
      <pubDate>Mon, 23 May 2016 12:07:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065809#M21925</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2016-05-23T12:07:58Z</dc:date>
    </item>
    <item>
      <title>Did you test to see whether</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065810#M21926</link>
      <description>&lt;P&gt;Did you test to see whether they are actually required? mkl_parallel would require -lpthread (since linux OpenMP is built upon that facility), but -qopenmp would supply that implicitly. -lm -ldl should be included implicitly in any link script generated by ifort, and it's been many years since I've seen that to fail. libm refers to the glibc math library in case you call any math functions not in the ifort libraries, and libdl is required since you use shared object versions of MKL libraries.&lt;/P&gt;</description>
      <pubDate>Mon, 23 May 2016 12:08:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065810#M21926</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2016-05-23T12:08:20Z</dc:date>
    </item>
    <item>
      <title>Quote:mecej4 wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065811#M21927</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;mecej4 wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;That is wrong, and based on a misunderstanding. The LP64 libraries are suitable for use from Fortran and C code in which integer-type arguments to MKL routines are 32-bit integers. On the other hand, the ILP64 libraries are meant for use when integer-type arguments are 64-bit integers.&lt;/P&gt;

&lt;P&gt;.&lt;/P&gt;

&lt;P&gt;.&lt;/P&gt;

&lt;P&gt;It is completely wrong to think that you should choose LP64 or ILP64 depending on whether you wish to use 32-bit reals or 64-bit reals. So far, you have said nothing to indicate that you need to use ILP64. Avoid making a mess by not using ILP64 until you truly need it. In fact, you may do well to use the 32-bit compiler and use 32-bit IA32 libraries until you get over your teething troubles.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Oh! I hadn't understood that. The mkl linker does not make that evident. Thank you. So you're saying that I should stick to&amp;nbsp; the LP64 even while I require 64bit reals, as long as I do not require 64bit integers. Is that right? Thanks a lot for clarifying that.&lt;/P&gt;</description>
      <pubDate>Tue, 24 May 2016 05:14:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065811#M21927</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-24T05:14:00Z</dc:date>
    </item>
    <item>
      <title>Quote:Tim P. wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065812#M21928</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Tim P. wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Did you test to see whether they are actually required? mkl_parallel would require -lpthread (since linux OpenMP is built upon that facility), but -qopenmp would supply that implicitly.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I don't understand. I have not used the openmp version of the linking anywhere. The mkl linker (that mecej4 suggested above) gives the -lpthread option even when I choose 'Sequential'. What are you referring to when you ask me if I've tested to see if they're working?&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Tim P. wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;-lm -ldl should be included implicitly in any link script generated by ifort, and it's been many years since I've seen that to fail. libm refers to the glibc math library in case you call any math functions not in the ifort libraries, and libdl is required since you use shared object versions of MKL libraries.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I see, thanks for that. It makes sense now. Check this out: &lt;A href="https://docs.oracle.com/cd/E53394_01/html/E54772/libdl-3lib.html" target="_blank"&gt;https://docs.oracle.com/cd/E53394_01/html/E54772/libdl-3lib.html&lt;/A&gt; .&amp;nbsp; It says that linking to ldl is no longer necessary. Do you know if that applies here too?&lt;/P&gt;</description>
      <pubDate>Tue, 24 May 2016 05:24:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065812#M21928</guid>
      <dc:creator>Vishnu</dc:creator>
      <dc:date>2016-05-24T05:24:00Z</dc:date>
    </item>
    <item>
      <title>You refer to Solaris man</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065813#M21929</link>
      <description>&lt;P&gt;You refer to Solaris man pages about libdl.&amp;nbsp; Why not look up "linux libdl" ?&lt;/P&gt;

&lt;P&gt;If you add -# to your ifort link command, you can check whether -ldl is being added implicitly.&lt;/P&gt;</description>
      <pubDate>Tue, 24 May 2016 10:26:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/lapack95-errors/m-p/1065813#M21929</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2016-05-24T10:26:00Z</dc:date>
    </item>
  </channel>
</rss>

