<?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 1. Options such as /4I do not in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-There-is-no-matching-specific-subroutine/m-p/925651#M13365</link>
    <description>&lt;P&gt;1. Options such as /4I do not cause size changes to variables declared with explicit size/KIND. Likewise, one has to allow for what such options do to integer constants and constant integer expressions -- there can be bad surprises here.&lt;/P&gt;
&lt;P&gt;2. When using a library function/subroutine (such as Pardiso) which has been designed to be accessed using the F77 interface (all arguments included in call/invocation, user has responsibility for checking sequence, type, size of arguments) or a more simplified/versatile F9X interface, there are three types of interfaces in the library:&lt;/P&gt;
&lt;P&gt;(a) the &lt;STRONG&gt;generic &lt;/STRONG&gt;F9X interface, which is the choice when the interface is adequate,&lt;/P&gt;
&lt;P&gt;(b) the F77 interface, and&lt;/P&gt;
&lt;P&gt;(c) the &lt;STRONG&gt;specific&lt;/STRONG&gt; interfaces.&lt;/P&gt;
&lt;P&gt;It is not intended that the specific interfaces be called by library users, and they are, therefore, often not mentioned in the documentation. That is why, unless you have valid reasons to access the specific interfaces such as &lt;STRONG&gt;pardiso_?_64&lt;/STRONG&gt;, you should refrain from doing so. If the library developers changed the specific interfaces when issuing a new version of MKL, your code that called the specific interfaces would probably malfunction.&lt;/P&gt;</description>
    <pubDate>Thu, 31 Jan 2013 12:32:00 GMT</pubDate>
    <dc:creator>mecej4</dc:creator>
    <dc:date>2013-01-31T12:32:00Z</dc:date>
    <item>
      <title>Pardiso - There is no matching specific subroutine</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-There-is-no-matching-specific-subroutine/m-p/925648#M13362</link>
      <description>&lt;P&gt;Hi everybody!&lt;BR /&gt;I have a problem with Pardiso in a fortran project. I am trying to write a simple routine to solve a linear system, but compilation stops at calling pardiso_64 (or pardiso in the case of 32bit version of my program). The error is:&lt;/P&gt;
&lt;P&gt;Error&amp;nbsp;&amp;nbsp; &amp;nbsp;1&amp;nbsp;&amp;nbsp; &amp;nbsp; error #6285: There is no matching specific subroutine for this generic subroutine call.&amp;nbsp;&amp;nbsp; [PARDISO_64]&lt;/P&gt;
&lt;P&gt;Here it is my code. A module defines the variables to be shared between all project file:&lt;/P&gt;
&lt;P&gt;MODULE variables&lt;BR /&gt;INTEGER*8 :: M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! Lines&lt;BR /&gt;INTEGER*8 :: N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! Columns&lt;BR /&gt;DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: MATRA ! original 2D matrix&lt;BR /&gt;INTEGER*8, DIMENSION(:), ALLOCATABLE :: ROWSA,COLSA ! matrix of row pointers and column positions&lt;BR /&gt;DOUBLE PRECISION,&amp;nbsp;&amp;nbsp;&amp;nbsp; dimension(:), ALLOCATABLE :: VALSA&lt;BR /&gt;DOUBLE PRECISION,&amp;nbsp;&amp;nbsp;&amp;nbsp; dimension(:,:), ALLOCATABLE :: RHSVC, SOLVC ! matrix of values, right hand side and solution vector&lt;BR /&gt;END MODULE variables&lt;/P&gt;
&lt;P&gt;After filling in the arrays VALSA, COLSA, ROWSA, RHSVC, SOLVC, we call a subroutine that prepares variables and calls pardiso:&lt;/P&gt;
&lt;P&gt;SUBROUTINE INTPAR&lt;BR /&gt;USE VARIABLES&lt;BR /&gt;USE mkl_pardiso&lt;BR /&gt;!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Internal solver memory pointer for 64-bit architectures&lt;BR /&gt;INTEGER*8 PT(64)&lt;BR /&gt;!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Other variables&lt;BR /&gt;INTEGER*8 maxfct, mnum, mtype, phase, nrhs, error, msglvl&lt;BR /&gt;! Solver Parameters vectors&lt;BR /&gt;INTEGER*8, ALLOCATABLE, DIMENSION(:) :: iparm, perm&lt;/P&gt;
&lt;P&gt;!---- ALLOCATION OF VECTORS&lt;BR /&gt;ALLOCATE(SOLVC(M,1))&lt;BR /&gt;ALLOCATE(RHSVC(M,1))&lt;BR /&gt;ALLOCATE(iparm(64))&lt;BR /&gt;ALLOCATE(perm(M))&lt;BR /&gt;!.... END OF ALLOCATION&lt;BR /&gt;&lt;BR /&gt;!---- CHOICE OF PARDISO PARAMETERS&lt;BR /&gt;iparm(1) = 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(2) = 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(3) = 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(4) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(5) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(6) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(7) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(8) = 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(9) = 0&amp;nbsp; &lt;BR /&gt;iparm(10) = 13&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(11) = 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(12) = 0 &lt;BR /&gt;iparm(13) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(14) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(15) = 0 &lt;BR /&gt;iparm(16) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(17) = 0 &lt;BR /&gt;iparm(18) = -1&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(19) = -1&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(20) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(21) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(22) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(23) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(24) = 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(25) = 0&lt;BR /&gt;iparm(26) = 0&lt;BR /&gt;iparm(27) = 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(28) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(29) = 0&lt;BR /&gt;iparm(30) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(31) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(32) = 0&lt;BR /&gt;iparm(33) = 0&lt;BR /&gt;iparm(34) = 0&lt;BR /&gt;iparm(35) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;iparm(36) = 0&lt;BR /&gt;iparm(37) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;iparm(38) = 0&lt;BR /&gt;iparm(39) = 0&lt;BR /&gt;iparm(40) = 0&lt;BR /&gt;iparm(41) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;iparm(42) = 0&lt;BR /&gt;iparm(43) = 0&lt;BR /&gt;iparm(44) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;iparm(45) = 0&lt;BR /&gt;iparm(46) = 0&lt;BR /&gt;iparm(47) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;iparm(48) = 0&lt;BR /&gt;iparm(49) = 0&lt;BR /&gt;iparm(50) = 0&lt;BR /&gt;iparm(51) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;iparm(52) = 0&lt;BR /&gt;iparm(53) = 0&lt;BR /&gt;iparm(54) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;iparm(55) = 0&lt;BR /&gt;iparm(56) = 0&lt;BR /&gt;iparm(57) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;iparm(58) = 0&lt;BR /&gt;iparm(59) = 0&lt;BR /&gt;iparm(60) = 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iparm(61) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;iparm(62) = 0&lt;BR /&gt;iparm(63) = 0&lt;BR /&gt;iparm(64) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;maxfct = 1 &lt;BR /&gt;mnum = 1&lt;BR /&gt;nrhs = 1&lt;BR /&gt;error = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;msglvl = 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;mtype = -2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&lt;BR /&gt;!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Initiliaze the internal solver memory pointer.&lt;BR /&gt;do i = 1, 64&lt;BR /&gt;&amp;nbsp; pt(i)=0&lt;BR /&gt;end do&lt;BR /&gt;!.... END OF VARIABLES INITIALIZATION&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;!---- PHASE 11 - ANALYSIS&lt;BR /&gt;!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reordering and Symbolic Factorization, This step also allocates&lt;BR /&gt;!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; all memory that is necessary for the factorization&lt;BR /&gt;&lt;BR /&gt;phase = 11 ! only reordering and symbolic factorization&lt;BR /&gt;&lt;BR /&gt;CALL pardiso_64 (PT, maxfct, mnum, mtype, phase, n, VALSA, COLSA, &amp;amp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROWSA, perm, nrhs, iparm, msglvl, RHSVC, SOLVC, error)&lt;BR /&gt;&lt;BR /&gt;WRITE(*,*) 'Reordering completed ... '&lt;BR /&gt;END SUBROUTINE INTPAR&lt;BR /&gt;&lt;BR /&gt;Again, the compilation of such code stops with error: Error&amp;nbsp;&amp;nbsp; &amp;nbsp;1&amp;nbsp;&amp;nbsp; &amp;nbsp; error #6285: There is no matching specific subroutine for this generic subroutine call.&amp;nbsp;&amp;nbsp; [PARDISO_64]&lt;/P&gt;
&lt;P&gt;It is compiled in debug mode, on 64bit configuration in Visual Studio 2010 with Intel Fortran Compiler XE 12.0&lt;/P&gt;
&lt;P&gt;Any solution? Thank you very much!&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 28 Jan 2013 13:52:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-There-is-no-matching-specific-subroutine/m-p/925648#M13362</guid>
      <dc:creator>Lorenzo_B_</dc:creator>
      <dc:date>2013-01-28T13:52:27Z</dc:date>
    </item>
    <item>
      <title>I see you use integer*8 data</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-There-is-no-matching-specific-subroutine/m-p/925649#M13363</link>
      <description>&lt;P&gt;I see you use integer*8 data types - then question - do you use /4I8 &amp;nbsp;option while compiling this example?&lt;/P&gt;</description>
      <pubDate>Mon, 28 Jan 2013 14:51:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-There-is-no-matching-specific-subroutine/m-p/925649#M13363</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2013-01-28T14:51:46Z</dc:date>
    </item>
    <item>
      <title>Reading the description of</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-There-is-no-matching-specific-subroutine/m-p/925650#M13364</link>
      <description>&lt;P&gt;Reading the description of the option /4I8 in the manual I found out that it does not make any difference if all INTEGER values are declared as INTEGER(kind=8), right?&lt;/P&gt;
&lt;P&gt;The problem that I found is that the interface to the function "Pardiso" is not pardiso_64 but pardiso_?_64 where "?" is the type of values you are putting in. In my case I have pardiso_D_64, and now, at least, it starts. Is there any known issue of this interface? The MKL manual does not present this kind of declaration!!&lt;/P&gt;</description>
      <pubDate>Wed, 30 Jan 2013 10:11:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-There-is-no-matching-specific-subroutine/m-p/925650#M13364</guid>
      <dc:creator>Lorenzo_B_</dc:creator>
      <dc:date>2013-01-30T10:11:32Z</dc:date>
    </item>
    <item>
      <title>1. Options such as /4I do not</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-There-is-no-matching-specific-subroutine/m-p/925651#M13365</link>
      <description>&lt;P&gt;1. Options such as /4I do not cause size changes to variables declared with explicit size/KIND. Likewise, one has to allow for what such options do to integer constants and constant integer expressions -- there can be bad surprises here.&lt;/P&gt;
&lt;P&gt;2. When using a library function/subroutine (such as Pardiso) which has been designed to be accessed using the F77 interface (all arguments included in call/invocation, user has responsibility for checking sequence, type, size of arguments) or a more simplified/versatile F9X interface, there are three types of interfaces in the library:&lt;/P&gt;
&lt;P&gt;(a) the &lt;STRONG&gt;generic &lt;/STRONG&gt;F9X interface, which is the choice when the interface is adequate,&lt;/P&gt;
&lt;P&gt;(b) the F77 interface, and&lt;/P&gt;
&lt;P&gt;(c) the &lt;STRONG&gt;specific&lt;/STRONG&gt; interfaces.&lt;/P&gt;
&lt;P&gt;It is not intended that the specific interfaces be called by library users, and they are, therefore, often not mentioned in the documentation. That is why, unless you have valid reasons to access the specific interfaces such as &lt;STRONG&gt;pardiso_?_64&lt;/STRONG&gt;, you should refrain from doing so. If the library developers changed the specific interfaces when issuing a new version of MKL, your code that called the specific interfaces would probably malfunction.&lt;/P&gt;</description>
      <pubDate>Thu, 31 Jan 2013 12:32:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-There-is-no-matching-specific-subroutine/m-p/925651#M13365</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2013-01-31T12:32:00Z</dc:date>
    </item>
  </channel>
</rss>

