<?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 quad precision -- natlib -- mkl  in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759980#M15467</link>
    <description>It only works with -i8 because you're linking against the 64-bit integer MKL libraries (the *ilp64 libraries), but you've declared standard 32-bit integers. You should either declare your integers as 64-bit (INTEGER(8) :: iFoo)), or link against the 32-bit MKL libraries (the *lp64 libraries). I chose the latter option&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;$ ifort -V&lt;/P&gt;&lt;P&gt;Intel Fortran Intel 64 Compiler XE for applications running on Intel 64, Version 12.1.1.256 Build 20111011&lt;/P&gt;&lt;P&gt;$ ifort U101663.f90 -L$MKLROOT/lib/intel64 -I$F95ROOT/include/intel64/lp64 -lmkl_lapack95_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -o U101663.x&lt;/P&gt;&lt;P&gt;$ ./U101663.x&lt;/P&gt;&lt;P&gt;3&lt;/P&gt;&lt;P&gt;$&lt;/P&gt;&lt;BR /&gt;P.S. -- I'm not sure it's safe to use -i8 with source declared 32-bit integers &amp;amp;&amp;amp; link against the *ilp64 MKL libraries. I'll try to confirm.&lt;BR /&gt;&lt;BR /&gt;Patrick Kennedy&lt;BR /&gt;Intel Developer Support</description>
    <pubDate>Tue, 06 Dec 2011 22:01:07 GMT</pubDate>
    <dc:creator>pbkenned1</dc:creator>
    <dc:date>2011-12-06T22:01:07Z</dc:date>
    <item>
      <title>quad precision -- natlib -- mkl</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759977#M15464</link>
      <description>Dear All,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I would like to compile my source code with double precision. However, I have to useGETRI andGETRF.&lt;/DIV&gt;&lt;DIV&gt;TimP suggested me to use "netlib functions".&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I usually compile with:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;[bash] ifort -r8 -i8 *.f90 -L$MKLPATH/lib/em64t  -lmkl_blas95_ilp64 -lmkl_lapack95_ilp64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -warn all -check all -debug all[/bash]&lt;/PRE&gt; &lt;/DIV&gt;&lt;DIV&gt;Is it possible to do the same withnetlib in intel fortran?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thank to every one&lt;/DIV&gt;</description>
      <pubDate>Tue, 06 Dec 2011 18:23:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759977#M15464</guid>
      <dc:creator>diedro</dc:creator>
      <dc:date>2011-12-06T18:23:32Z</dc:date>
    </item>
    <item>
      <title>quad precision -- natlib -- mkl</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759978#M15465</link>
      <description>Your request is somewhat inconsistent. The title talks about quad precision, but in the body you mention wanting double precision, and the use of the -r8 option suggests that you wish to promote source code written for single-precision to double precision. I do not know why you use the -i8 option.&lt;BR /&gt;&lt;BR /&gt;You do not &lt;I&gt;have&lt;/I&gt; to use Netlib source code. Here is an example of using GETRF.&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;[fortran]program invert
use mkl95_lapack,only : getrf,getri
implicit none
integer, parameter :: N = 7
integer :: i,j
double precision, dimension(N,N) :: A = &amp;amp;
  (/ 1.0658d0,   -0.6313d0, 0.0000d0, 0.0000d0, 0.0000d0, 0.0000d0, 0.0000d0, &amp;amp;
   -0.6313d0, 4.2632d0,  -1.8940d0, 0.0000d0, 0.0000d0, 0.0000d0, 0.0000d0, &amp;amp;
  0.0000d0,  -1.8940d0, 8.5265d0,  -3.1567d0, 0.0000d0, 0.0000d0, 0.0000d0, &amp;amp;
  0.0000d0, 0.0000d0,  -3.1567d0,  23.2603d0,  -3.6892d0, 0.0000d0, 0.0000d0, &amp;amp;
  0.0000d0, 0.0000d0, 0.0000d0,  -3.6892d0,  37.5680d0, -4.8192d0, 0.0000d0, &amp;amp;
  0.0000d0, 0.0000d0, 0.0000d0, 0.0000d0,  -4.8192d0,  47.5467d0,  -5.9492d0, &amp;amp;
  0.0000d0, 0.0000d0, 0.0000d0, 0.0000d0, 0.0000d0,  -5.9492d0,  57.5255d0 /)
integer, dimension(N) :: piv
integer :: info

call getrf( a, piv, info )
call getri( a, piv, info )
write(*,10)((a(i,j),j=1,N),i=1,N)
stop

10 format(1x,7F12.6)
end program invert
[/fortran]&lt;/PRE&gt;</description>
      <pubDate>Tue, 06 Dec 2011 18:44:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759978#M15465</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2011-12-06T18:44:48Z</dc:date>
    </item>
    <item>
      <title>quad precision -- natlib -- mkl</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759979#M15466</link>
      <description>hi,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;my fault, really sorry.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I would like to compile as:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;[bash]ifort -r16 *.f90 -L$MKLPATH/lib/em64t  -lmkl_blas95_ilp64 -lmkl_lapack95_ilp64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -warn all -check all -debug all
[/bash]&lt;/PRE&gt; so quad precision.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Now concerning -i8&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Consider the following program:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;[bash]PROGRAM TestPrecisione
USE lapack95
INTEGER    ::i
REAL       ::r
INTEGER                 :: info
INTEGER, DIMENSION(3)   :: IPIV
REAL,    DIMENSION(3,3) :: INV
i=3
r=3
write(*,*) INT
CALL GETRI(INV,IPIV,info)
CALL GETRF(INV,IPIV,info)
ENDPROGRAM[/bash]&lt;/PRE&gt; &lt;/DIV&gt;&lt;DIV&gt;If I compile with&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;[bash]ifort -r8 *.f90 -L$MKLPATH/lib/em64t  -lmkl_blas95_ilp64 -lmkl_lapack95_ilp64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -warn all -check all -debug all[/bash]&lt;/PRE&gt; &lt;/DIV&gt;&lt;DIV&gt;I get the errors:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;[bash]There is no matching specific subroutine for this generic subroutine call.   [GETRI]
CALL GETRI(INV,IPIV,info)
-----^
error #6285: There is no matching specific subroutine for this generic subroutine call.   [GETRF]
CALL GETRF(INV,IPIV,info)
[/bash]&lt;/PRE&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;it seems to work only with -i8&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 06 Dec 2011 18:53:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759979#M15466</guid>
      <dc:creator>diedro</dc:creator>
      <dc:date>2011-12-06T18:53:35Z</dc:date>
    </item>
    <item>
      <title>quad precision -- natlib -- mkl</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759980#M15467</link>
      <description>It only works with -i8 because you're linking against the 64-bit integer MKL libraries (the *ilp64 libraries), but you've declared standard 32-bit integers. You should either declare your integers as 64-bit (INTEGER(8) :: iFoo)), or link against the 32-bit MKL libraries (the *lp64 libraries). I chose the latter option&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;$ ifort -V&lt;/P&gt;&lt;P&gt;Intel Fortran Intel 64 Compiler XE for applications running on Intel 64, Version 12.1.1.256 Build 20111011&lt;/P&gt;&lt;P&gt;$ ifort U101663.f90 -L$MKLROOT/lib/intel64 -I$F95ROOT/include/intel64/lp64 -lmkl_lapack95_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -o U101663.x&lt;/P&gt;&lt;P&gt;$ ./U101663.x&lt;/P&gt;&lt;P&gt;3&lt;/P&gt;&lt;P&gt;$&lt;/P&gt;&lt;BR /&gt;P.S. -- I'm not sure it's safe to use -i8 with source declared 32-bit integers &amp;amp;&amp;amp; link against the *ilp64 MKL libraries. I'll try to confirm.&lt;BR /&gt;&lt;BR /&gt;Patrick Kennedy&lt;BR /&gt;Intel Developer Support</description>
      <pubDate>Tue, 06 Dec 2011 22:01:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759980#M15467</guid>
      <dc:creator>pbkenned1</dc:creator>
      <dc:date>2011-12-06T22:01:07Z</dc:date>
    </item>
    <item>
      <title>quad precision -- natlib -- mkl</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759981#M15468</link>
      <description>Source built with -i8, linking to MKL ilp64, is a model on which many customers rely. It requires use of the Intel64 compiler throughout and the 64-bit OS.</description>
      <pubDate>Tue, 06 Dec 2011 23:39:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759981#M15468</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2011-12-06T23:39:23Z</dc:date>
    </item>
    <item>
      <title>quad precision -- natlib -- mkl</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759982#M15469</link>
      <description>hi,&lt;DIV&gt;thank you.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I would like to compile with only -r8&lt;/DIV&gt;&lt;DIV&gt;I tryed with:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;[bash]&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;DIV&gt;&lt;/DIV&gt;ifort -r8  *.f90 -L$MKLPATH -I$MKLROOT -lmkl_blas95_lp64 -lmkl_lapack95_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -warn all -check all -debug all -o prova.exe&lt;/SPAN&gt;[/bash]&lt;/PRE&gt;&lt;PRE&gt;[bash]&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;[/bash]&lt;/PRE&gt;&lt;/DIV&gt;&lt;DIV&gt;However I get the same error&lt;/DIV&gt;&lt;DIV&gt;Is the link wrong?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thank a lot&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 06 Dec 2011 23:56:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759982#M15469</guid>
      <dc:creator>diedro</dc:creator>
      <dc:date>2011-12-06T23:56:04Z</dc:date>
    </item>
    <item>
      <title>quad precision -- natlib -- mkl</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759983#M15470</link>
      <description>You have omitted the required -lmkl_intel_lp64.</description>
      <pubDate>Wed, 07 Dec 2011 00:53:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759983#M15470</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2011-12-07T00:53:01Z</dc:date>
    </item>
    <item>
      <title>quad precision -- netlib -- mkl</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759984#M15471</link>
      <description>Hi,&lt;DIV&gt;my fault:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I went to bash file and I change the path:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;[bash]PATH="/opt/intel/composerxe-2011.0.084/mkl/bin/intel64$PATH"
source /opt/intel/composerxe-2011.0.084/mkl/bin/mklvars.sh intel64 mod lp64
export PATH[/bash]&lt;/PRE&gt; Now it seems to work&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Regarding the initial question. How can have quad precision (I need to invert a Square matrix) ?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks a lot&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 07 Dec 2011 09:58:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759984#M15471</guid>
      <dc:creator>diedro</dc:creator>
      <dc:date>2011-12-07T09:58:28Z</dc:date>
    </item>
    <item>
      <title>quad precision -- netlib -- mkl</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759985#M15472</link>
      <description>MKL doesn't offer any quad precision libraries. You're free to compile the subroutines of your choice from open source code.</description>
      <pubDate>Wed, 07 Dec 2011 12:56:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759985#M15472</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2011-12-07T12:56:19Z</dc:date>
    </item>
    <item>
      <title>quad precision -- netlib -- mkl</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759986#M15473</link>
      <description>&lt;I&gt;&amp;gt; You're free to compile the subroutines of your choice from open source code.&lt;BR /&gt;&lt;BR /&gt;&lt;/I&gt;True, but there is no guarantee that any Lapack algorithm when run with auto-promotion to quad-precision will deliver results with more precision than double-precision. &lt;BR /&gt;&lt;BR /&gt;Performing iterative refinement using quad-precision and starting with double-precision results may suffice in some cases.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 08 Dec 2011 02:52:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/quad-precision-natlib-mkl/m-p/759986#M15473</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2011-12-08T02:52:04Z</dc:date>
    </item>
  </channel>
</rss>

