<?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 How to link the solver PARDISO in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-the-solver-PARDISO/m-p/875731#M8905</link>
    <description>&lt;P&gt;Hello everyoneThis is my problemI need a help&lt;/P&gt;
&lt;P&gt;I want to use Pardisobut there is a error"fatal error LNK1000: unknown error; consult documentation for technical support options"&lt;/P&gt;
&lt;P&gt;compilerVC6++&lt;/P&gt;
&lt;P&gt;I specified the paths to mkl_core.lib mkl_solver_sequential.lib mkl_lapack.lib mkl_c.lib mkl_solver.lib mkl_c_dll.lib mkl_cdft.lib mkl_intel_c.lib mkl_intel_thread.lib , but it doesn't work =(. What's wrong? May be MKL is not compatible with CVF6.6c I'm using?&lt;/P&gt;
&lt;P&gt;This is my code&lt;/P&gt;
&lt;P&gt;#include &lt;BR /&gt;#include &lt;BR /&gt;#include &lt;BR /&gt;#include "mkl_pardiso.h"&lt;BR /&gt;#include "mkl.h"&lt;BR /&gt;#include "mkl_lapack.h"&lt;BR /&gt;#include "mkl_scalapack.h"&lt;BR /&gt;extern int omp_get_max_threads();&lt;BR /&gt;extern int PARDISO&lt;BR /&gt;(void *, int *, int *, int *, int *, int *,&lt;BR /&gt;double *, int *, int *, int*, int *, int *,&lt;BR /&gt;int *, double *, double *, int*);&lt;BR /&gt; main( )&lt;BR /&gt; {&lt;BR /&gt;int n = 8;&lt;BR /&gt;int ia[ 9] = { 1, 5, 8, 10, 12, 15, 17, 18, 19 };&lt;BR /&gt;int ja[18] = { 1, 3, 6, 7,&lt;BR /&gt;2, 3, 5,&lt;BR /&gt;3, 8,&lt;BR /&gt;4, 7,&lt;BR /&gt;5, 6, 7,&lt;BR /&gt;6, 8,&lt;BR /&gt;7,&lt;BR /&gt;8 };&lt;BR /&gt;double a[18] = { 7.0, 1.0, 2.0, 7.0,&lt;BR /&gt;-4.0, 8.0, 2.0,&lt;BR /&gt;1.0, 5.0,&lt;BR /&gt;7.0, 9.0,&lt;BR /&gt;5.0, 1.0, 5.0,&lt;BR /&gt;-1.0, 5.0,&lt;BR /&gt;11.0,&lt;BR /&gt;5.0 };&lt;BR /&gt;int mtype = -2; &lt;BR /&gt;double b[8], x[8];&lt;BR /&gt;int nrhs = 1; &lt;BR /&gt;void *pt[64];&lt;BR /&gt;int iparm[64];&lt;BR /&gt;int maxfct, mnum, phase, error, msglvl;&lt;BR /&gt;int i;&lt;BR /&gt;double ddum; /* Double dummy*/&lt;BR /&gt;int idum; /* Integer dummy.*/&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Setup Pardiso control parameters.*/&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;for (i = 0; i &amp;lt; 64; i++) {&lt;BR /&gt;iparm&lt;I&gt; = 0;&lt;BR /&gt;}&lt;BR /&gt;iparm[0] = 1; /* No solver default*/&lt;BR /&gt;iparm[1] = 2; /* Fill-in reordering from METIS */&lt;BR /&gt;/* Numbers of processors, value of MKL_NUM_THREADS */&lt;BR /&gt;iparm[2] = 2;&lt;BR /&gt;/*mkl_get_max_threads()*/&lt;BR /&gt;iparm[3] = 0; /* No iterative-direct algorithm */&lt;BR /&gt;iparm[4] = 0; /* No user fill-in reducing permutation */&lt;BR /&gt;iparm[5] = 0; /* Write solution into x */&lt;BR /&gt;iparm[6] = 16; /* Default logical fortran unit number for output */&lt;BR /&gt;iparm[7] = 2; /* Max numbers of iterative refinement steps */&lt;BR /&gt;iparm[8] = 0; /* Not in use*/&lt;BR /&gt;iparm[9] = 13; /* Perturb the pivot elements with 1E-13 */&lt;BR /&gt;iparm[10] = 1; /* Use nonsymmetric permutation and scaling MPS */&lt;BR /&gt;iparm[11] = 0; /* Not in use*/&lt;BR /&gt;iparm[12] = 0; /* Not in use*/&lt;BR /&gt;iparm[13] = 0; /* Output: Number of perturbed pivots */&lt;BR /&gt;iparm[14] = 0; /* Not in use*/&lt;BR /&gt;iparm[15] = 0; /* Not in use*/&lt;BR /&gt;iparm[16] = 0; /* Not in use*/&lt;BR /&gt;iparm[17] = -1; /* Output: Number of nonzeros in the factor LU */&lt;BR /&gt;iparm[18] = -1; /* Output: Mflops for LU factorization */&lt;BR /&gt;iparm[19] = 0; /* Output: Numbers of CG Iterations */&lt;BR /&gt;maxfct = 1; /* Maximum number of numerical factorizations. */&lt;BR /&gt;mnum = 1; /* Which factorization to use. */&lt;BR /&gt;msglvl = 0; /* Don't print statistical information in file */&lt;BR /&gt;error = 0; /* Initialize error flag */&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Initialize the internal solver memory pointer. This is only */&lt;BR /&gt;/* necessary for the FIRST call of the PARDISO solver. */&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;for (i = 0; i &amp;lt; 64; i++) {&lt;BR /&gt;pt&lt;I&gt; = 0;&lt;BR /&gt;}&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Reordering and Symbolic Factorization. This step also allocates */&lt;BR /&gt;/* all memory that is necessary for the factorization. */&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;phase = 11;&lt;BR /&gt;PARDISO (pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase,&lt;BR /&gt;&amp;amp;n, a, ia, ja, &amp;amp;idum, &amp;amp;nrhs,&lt;BR /&gt;iparm, &amp;amp;msglvl, &amp;amp;ddum, &amp;amp;ddum, &amp;amp;error);&lt;BR /&gt;if (error != 0) {&lt;BR /&gt;printf("\\nERROR during symbolic factorization: %d", error);&lt;BR /&gt;exit(1);&lt;BR /&gt;}&lt;BR /&gt;printf("\\nReordering completed ... ");&lt;BR /&gt;printf("\\nNumber of nonzeros in factors = %d", iparm[17]);&lt;BR /&gt;printf("\\nNumber of factorization MFLOPS = %d", iparm[18]);&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Numerical factorization.*/&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;phase = 22;&lt;BR /&gt;PARDISO (pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase,&lt;BR /&gt;&amp;amp;n, a, ia, ja, &amp;amp;idum, &amp;amp;nrhs,&lt;BR /&gt;iparm, &amp;amp;msglvl, &amp;amp;ddum, &amp;amp;ddum, &amp;amp;error);&lt;BR /&gt;if (error != 0) {&lt;BR /&gt;printf("\\nERROR during numerical factorization: %d", error);&lt;BR /&gt;exit(2);&lt;BR /&gt;}&lt;BR /&gt;printf("\\nFactorization completed ... ");&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Back substitution and iterative refinement. */&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;phase = 33;&lt;BR /&gt;iparm[7] = 2; /* Max numbers of iterative refinement steps. */&lt;BR /&gt;/* Set right hand side to one.*/&lt;BR /&gt;for (i = 0; i &amp;lt; n; i++) {&lt;BR /&gt;b&lt;I&gt; = 1;&lt;BR /&gt;}&lt;BR /&gt;PARDISO (pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase,&lt;BR /&gt;&amp;amp;n, a, ia, ja, &amp;amp;idum, &amp;amp;nrhs,&lt;BR /&gt;iparm, &amp;amp;msglvl, b, x, &amp;amp;error);&lt;BR /&gt;if (error != 0) {&lt;BR /&gt;printf("\\nERROR during solution: %d", error);&lt;BR /&gt;exit(3);&lt;BR /&gt;}&lt;BR /&gt;printf("\\nSolve completed ... ");&lt;BR /&gt;printf("\\nThe solution of the system is: ");&lt;BR /&gt;for (i = 0; i &amp;lt; n; i++) {&lt;BR /&gt;printf("\\n x [%d] = % f", i, x&lt;I&gt; );&lt;BR /&gt;}&lt;BR /&gt;printf ("\\n");&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Termination and release of memory. */&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;phase = -1; /* Release internal memory. */&lt;BR /&gt;PARDISO (pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase,&lt;BR /&gt;&amp;amp;n, &amp;amp;ddum, ia, ja, &amp;amp;idum, &amp;amp;nrhs,&lt;BR /&gt;iparm, &amp;amp;msglvl, &amp;amp;ddum, &amp;amp;ddum, &amp;amp;error);&lt;BR /&gt;return 0;&lt;BR /&gt;}&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;thank you&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Sun, 07 Mar 2010 09:08:01 GMT</pubDate>
    <dc:creator>caoyuxin541</dc:creator>
    <dc:date>2010-03-07T09:08:01Z</dc:date>
    <item>
      <title>How to link the solver PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-the-solver-PARDISO/m-p/875731#M8905</link>
      <description>&lt;P&gt;Hello everyoneThis is my problemI need a help&lt;/P&gt;
&lt;P&gt;I want to use Pardisobut there is a error"fatal error LNK1000: unknown error; consult documentation for technical support options"&lt;/P&gt;
&lt;P&gt;compilerVC6++&lt;/P&gt;
&lt;P&gt;I specified the paths to mkl_core.lib mkl_solver_sequential.lib mkl_lapack.lib mkl_c.lib mkl_solver.lib mkl_c_dll.lib mkl_cdft.lib mkl_intel_c.lib mkl_intel_thread.lib , but it doesn't work =(. What's wrong? May be MKL is not compatible with CVF6.6c I'm using?&lt;/P&gt;
&lt;P&gt;This is my code&lt;/P&gt;
&lt;P&gt;#include &lt;BR /&gt;#include &lt;BR /&gt;#include &lt;BR /&gt;#include "mkl_pardiso.h"&lt;BR /&gt;#include "mkl.h"&lt;BR /&gt;#include "mkl_lapack.h"&lt;BR /&gt;#include "mkl_scalapack.h"&lt;BR /&gt;extern int omp_get_max_threads();&lt;BR /&gt;extern int PARDISO&lt;BR /&gt;(void *, int *, int *, int *, int *, int *,&lt;BR /&gt;double *, int *, int *, int*, int *, int *,&lt;BR /&gt;int *, double *, double *, int*);&lt;BR /&gt; main( )&lt;BR /&gt; {&lt;BR /&gt;int n = 8;&lt;BR /&gt;int ia[ 9] = { 1, 5, 8, 10, 12, 15, 17, 18, 19 };&lt;BR /&gt;int ja[18] = { 1, 3, 6, 7,&lt;BR /&gt;2, 3, 5,&lt;BR /&gt;3, 8,&lt;BR /&gt;4, 7,&lt;BR /&gt;5, 6, 7,&lt;BR /&gt;6, 8,&lt;BR /&gt;7,&lt;BR /&gt;8 };&lt;BR /&gt;double a[18] = { 7.0, 1.0, 2.0, 7.0,&lt;BR /&gt;-4.0, 8.0, 2.0,&lt;BR /&gt;1.0, 5.0,&lt;BR /&gt;7.0, 9.0,&lt;BR /&gt;5.0, 1.0, 5.0,&lt;BR /&gt;-1.0, 5.0,&lt;BR /&gt;11.0,&lt;BR /&gt;5.0 };&lt;BR /&gt;int mtype = -2; &lt;BR /&gt;double b[8], x[8];&lt;BR /&gt;int nrhs = 1; &lt;BR /&gt;void *pt[64];&lt;BR /&gt;int iparm[64];&lt;BR /&gt;int maxfct, mnum, phase, error, msglvl;&lt;BR /&gt;int i;&lt;BR /&gt;double ddum; /* Double dummy*/&lt;BR /&gt;int idum; /* Integer dummy.*/&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Setup Pardiso control parameters.*/&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;for (i = 0; i &amp;lt; 64; i++) {&lt;BR /&gt;iparm&lt;I&gt; = 0;&lt;BR /&gt;}&lt;BR /&gt;iparm[0] = 1; /* No solver default*/&lt;BR /&gt;iparm[1] = 2; /* Fill-in reordering from METIS */&lt;BR /&gt;/* Numbers of processors, value of MKL_NUM_THREADS */&lt;BR /&gt;iparm[2] = 2;&lt;BR /&gt;/*mkl_get_max_threads()*/&lt;BR /&gt;iparm[3] = 0; /* No iterative-direct algorithm */&lt;BR /&gt;iparm[4] = 0; /* No user fill-in reducing permutation */&lt;BR /&gt;iparm[5] = 0; /* Write solution into x */&lt;BR /&gt;iparm[6] = 16; /* Default logical fortran unit number for output */&lt;BR /&gt;iparm[7] = 2; /* Max numbers of iterative refinement steps */&lt;BR /&gt;iparm[8] = 0; /* Not in use*/&lt;BR /&gt;iparm[9] = 13; /* Perturb the pivot elements with 1E-13 */&lt;BR /&gt;iparm[10] = 1; /* Use nonsymmetric permutation and scaling MPS */&lt;BR /&gt;iparm[11] = 0; /* Not in use*/&lt;BR /&gt;iparm[12] = 0; /* Not in use*/&lt;BR /&gt;iparm[13] = 0; /* Output: Number of perturbed pivots */&lt;BR /&gt;iparm[14] = 0; /* Not in use*/&lt;BR /&gt;iparm[15] = 0; /* Not in use*/&lt;BR /&gt;iparm[16] = 0; /* Not in use*/&lt;BR /&gt;iparm[17] = -1; /* Output: Number of nonzeros in the factor LU */&lt;BR /&gt;iparm[18] = -1; /* Output: Mflops for LU factorization */&lt;BR /&gt;iparm[19] = 0; /* Output: Numbers of CG Iterations */&lt;BR /&gt;maxfct = 1; /* Maximum number of numerical factorizations. */&lt;BR /&gt;mnum = 1; /* Which factorization to use. */&lt;BR /&gt;msglvl = 0; /* Don't print statistical information in file */&lt;BR /&gt;error = 0; /* Initialize error flag */&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Initialize the internal solver memory pointer. This is only */&lt;BR /&gt;/* necessary for the FIRST call of the PARDISO solver. */&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;for (i = 0; i &amp;lt; 64; i++) {&lt;BR /&gt;pt&lt;I&gt; = 0;&lt;BR /&gt;}&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Reordering and Symbolic Factorization. This step also allocates */&lt;BR /&gt;/* all memory that is necessary for the factorization. */&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;phase = 11;&lt;BR /&gt;PARDISO (pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase,&lt;BR /&gt;&amp;amp;n, a, ia, ja, &amp;amp;idum, &amp;amp;nrhs,&lt;BR /&gt;iparm, &amp;amp;msglvl, &amp;amp;ddum, &amp;amp;ddum, &amp;amp;error);&lt;BR /&gt;if (error != 0) {&lt;BR /&gt;printf("\\nERROR during symbolic factorization: %d", error);&lt;BR /&gt;exit(1);&lt;BR /&gt;}&lt;BR /&gt;printf("\\nReordering completed ... ");&lt;BR /&gt;printf("\\nNumber of nonzeros in factors = %d", iparm[17]);&lt;BR /&gt;printf("\\nNumber of factorization MFLOPS = %d", iparm[18]);&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Numerical factorization.*/&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;phase = 22;&lt;BR /&gt;PARDISO (pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase,&lt;BR /&gt;&amp;amp;n, a, ia, ja, &amp;amp;idum, &amp;amp;nrhs,&lt;BR /&gt;iparm, &amp;amp;msglvl, &amp;amp;ddum, &amp;amp;ddum, &amp;amp;error);&lt;BR /&gt;if (error != 0) {&lt;BR /&gt;printf("\\nERROR during numerical factorization: %d", error);&lt;BR /&gt;exit(2);&lt;BR /&gt;}&lt;BR /&gt;printf("\\nFactorization completed ... ");&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Back substitution and iterative refinement. */&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;phase = 33;&lt;BR /&gt;iparm[7] = 2; /* Max numbers of iterative refinement steps. */&lt;BR /&gt;/* Set right hand side to one.*/&lt;BR /&gt;for (i = 0; i &amp;lt; n; i++) {&lt;BR /&gt;b&lt;I&gt; = 1;&lt;BR /&gt;}&lt;BR /&gt;PARDISO (pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase,&lt;BR /&gt;&amp;amp;n, a, ia, ja, &amp;amp;idum, &amp;amp;nrhs,&lt;BR /&gt;iparm, &amp;amp;msglvl, b, x, &amp;amp;error);&lt;BR /&gt;if (error != 0) {&lt;BR /&gt;printf("\\nERROR during solution: %d", error);&lt;BR /&gt;exit(3);&lt;BR /&gt;}&lt;BR /&gt;printf("\\nSolve completed ... ");&lt;BR /&gt;printf("\\nThe solution of the system is: ");&lt;BR /&gt;for (i = 0; i &amp;lt; n; i++) {&lt;BR /&gt;printf("\\n x [%d] = % f", i, x&lt;I&gt; );&lt;BR /&gt;}&lt;BR /&gt;printf ("\\n");&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;/* .. Termination and release of memory. */&lt;BR /&gt;/* --------------------------------------------------------------------*/&lt;BR /&gt;phase = -1; /* Release internal memory. */&lt;BR /&gt;PARDISO (pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase,&lt;BR /&gt;&amp;amp;n, &amp;amp;ddum, ia, ja, &amp;amp;idum, &amp;amp;nrhs,&lt;BR /&gt;iparm, &amp;amp;msglvl, &amp;amp;ddum, &amp;amp;ddum, &amp;amp;error);&lt;BR /&gt;return 0;&lt;BR /&gt;}&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;thank you&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 07 Mar 2010 09:08:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-the-solver-PARDISO/m-p/875731#M8905</guid>
      <dc:creator>caoyuxin541</dc:creator>
      <dc:date>2010-03-07T09:08:01Z</dc:date>
    </item>
    <item>
      <title>How to link the solver PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-the-solver-PARDISO/m-p/875732#M8906</link>
      <description>the duplicated to &lt;A href="http://software.intel.com/en-us/forums/showthread.php?t"&gt;this issue&lt;/A&gt;</description>
      <pubDate>Mon, 08 Mar 2010 06:04:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-the-solver-PARDISO/m-p/875732#M8906</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-03-08T06:04:50Z</dc:date>
    </item>
    <item>
      <title>How to link the solver PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-the-solver-PARDISO/m-p/875733#M8907</link>
      <description>&lt;P&gt;Gennady,&lt;/P&gt;
&lt;P&gt;I think you can just delete this one.&lt;/P&gt;
&lt;P&gt;A.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Mar 2010 12:30:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-the-solver-PARDISO/m-p/875733#M8907</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2010-03-08T12:30:02Z</dc:date>
    </item>
  </channel>
</rss>

