<?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 CXML vs. MKL : Sparse Solver Routines in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/CXML-vs-MKL-Sparse-Solver-Routines/m-p/873631#M8708</link>
    <description>CXML : Compaq Extended Math. Lib. (direct solver : DSSKYF)&lt;BR /&gt;MKL: Intel Math. Kernel Lib. (direct solver : PARDISO)&lt;BR /&gt;&lt;BR /&gt;I am using two direct solver (CXML and MKL) to solve a system of linear equations (Ax=b). &lt;BR /&gt;The properties of A matrix are provided below&lt;BR /&gt;&lt;BR /&gt;1. 100 by 100 symmetric&lt;BR /&gt;2. positive definite &lt;BR /&gt;3. ill-conditioned (condition number 1.E+100)&lt;BR /&gt;4. determinant : infinite&lt;BR /&gt;&lt;BR /&gt;After solving both solvers, compare residual norm ||R||= b  Ax* (x* represents solver solutions)&lt;BR /&gt;CXML is very small (1E-9) but MKL is too big (239).&lt;BR /&gt;Here is my code (Intel Visual Fortran v11 11.0.072&lt;BR /&gt;&lt;BR /&gt;mtype = 2 ! real and SPD&lt;BR /&gt;! initialize PARDISO (solve inverse matrix )&lt;BR /&gt;call pardisoinit(pt, mtype, iparm)&lt;BR /&gt;iparm(1) = 1 ! no solver default&lt;BR /&gt;iparm(2) = 0 !2 ! fill-in reordering from METIS&lt;BR /&gt;iparm(3) = omp_get_max_threads() ! number of processors&lt;BR /&gt;iparm(7) = 16 ! default logical fortran unit number for output&lt;BR /&gt;iparm(8) = 20 ! numbers of iterative refinement steps&lt;BR /&gt;msglvl = 0 ! don't print statistical information&lt;BR /&gt;&lt;BR /&gt;! analysis, symbolic factorization, numerical factorization and solve&lt;BR /&gt;phase = 13 &lt;BR /&gt;call pardiso(pt, maxfct, mnum, mtype, phase, ndim, A, iA, jA, &amp;amp;&lt;BR /&gt;idum, nrhs, iparm, msglvl, glb_force, x, error)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I dont know where I made a mistake&lt;BR /&gt;Is there any problem in my code?&lt;BR /&gt;Thanks&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Tue, 23 Jun 2009 17:35:16 GMT</pubDate>
    <dc:creator>ceo012</dc:creator>
    <dc:date>2009-06-23T17:35:16Z</dc:date>
    <item>
      <title>CXML vs. MKL : Sparse Solver Routines</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/CXML-vs-MKL-Sparse-Solver-Routines/m-p/873631#M8708</link>
      <description>CXML : Compaq Extended Math. Lib. (direct solver : DSSKYF)&lt;BR /&gt;MKL: Intel Math. Kernel Lib. (direct solver : PARDISO)&lt;BR /&gt;&lt;BR /&gt;I am using two direct solver (CXML and MKL) to solve a system of linear equations (Ax=b). &lt;BR /&gt;The properties of A matrix are provided below&lt;BR /&gt;&lt;BR /&gt;1. 100 by 100 symmetric&lt;BR /&gt;2. positive definite &lt;BR /&gt;3. ill-conditioned (condition number 1.E+100)&lt;BR /&gt;4. determinant : infinite&lt;BR /&gt;&lt;BR /&gt;After solving both solvers, compare residual norm ||R||= b  Ax* (x* represents solver solutions)&lt;BR /&gt;CXML is very small (1E-9) but MKL is too big (239).&lt;BR /&gt;Here is my code (Intel Visual Fortran v11 11.0.072&lt;BR /&gt;&lt;BR /&gt;mtype = 2 ! real and SPD&lt;BR /&gt;! initialize PARDISO (solve inverse matrix )&lt;BR /&gt;call pardisoinit(pt, mtype, iparm)&lt;BR /&gt;iparm(1) = 1 ! no solver default&lt;BR /&gt;iparm(2) = 0 !2 ! fill-in reordering from METIS&lt;BR /&gt;iparm(3) = omp_get_max_threads() ! number of processors&lt;BR /&gt;iparm(7) = 16 ! default logical fortran unit number for output&lt;BR /&gt;iparm(8) = 20 ! numbers of iterative refinement steps&lt;BR /&gt;msglvl = 0 ! don't print statistical information&lt;BR /&gt;&lt;BR /&gt;! analysis, symbolic factorization, numerical factorization and solve&lt;BR /&gt;phase = 13 &lt;BR /&gt;call pardiso(pt, maxfct, mnum, mtype, phase, ndim, A, iA, jA, &amp;amp;&lt;BR /&gt;idum, nrhs, iparm, msglvl, glb_force, x, error)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I dont know where I made a mistake&lt;BR /&gt;Is there any problem in my code?&lt;BR /&gt;Thanks&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 23 Jun 2009 17:35:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/CXML-vs-MKL-Sparse-Solver-Routines/m-p/873631#M8708</guid>
      <dc:creator>ceo012</dc:creator>
      <dc:date>2009-06-23T17:35:16Z</dc:date>
    </item>
    <item>
      <title>Re: CXML vs. MKL : Sparse Solver Routines</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/CXML-vs-MKL-Sparse-Solver-Routines/m-p/873632#M8709</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/423495"&gt;ceo012&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;3. ill-conditioned (condition number 1.E+100)&lt;BR /&gt;4. determinant : infinite&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;The mistake you're making is trying to solve ill-conditioned problems using "standard" algorithm. SVD is what you want.&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;</description>
      <pubDate>Wed, 24 Jun 2009 00:16:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/CXML-vs-MKL-Sparse-Solver-Routines/m-p/873632#M8709</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2009-06-24T00:16:24Z</dc:date>
    </item>
  </channel>
</rss>

