<?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 Re: Pardiso linear solver, 300 x 300 matrix, phase 11 cost too much time in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-linear-solver-300-x-300-matrix-phase-11-cost-too-much/m-p/1343919#M32441</link>
    <description>&lt;P&gt;thanks for your reply, Kirill.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;actually our case is for SLAM bundle adjustment, which has Pose 50, Landmark 3000.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the matrix will be 50*6 + 3000*3 = 9300 rows and cols.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;if use schur complement, the phase 11 need 100+ms to do, but solver phase only need like 20+ ms for one iteration.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;some logs:&lt;/P&gt;
&lt;P&gt;iteration= 0&lt;BR /&gt;timeMKL_phase11_symbolic= &lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;161.812&lt;/STRONG&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;timeMKL_phase22= 18.4635 timeMKL_phase331= 3.32485 timeMKL_schurSolver= 1.75007 timeMKL_phase333= 3.45389&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;iteration= 1&lt;BR /&gt;timeMKL_phase11_symbolic= 0&amp;nbsp; &amp;nbsp; timeMKL_phase22= 15.307 timeMKL_phase331= 3.02907 timeMKL_schurSolver= 0.69892 timeMKL_phase333= 3.40465&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;iteration= 2&lt;/P&gt;
&lt;P&gt;timeMKL_phase11_symbolic= 0&amp;nbsp; timeMKL_phase22= 15.3569 timeMKL_phase331= 2.9652 timeMKL_schurSolver= 0.699728 timeMKL_phase333= 3.44434&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;...&lt;BR /&gt;iteration= 9&lt;BR /&gt;timeMKL_phase11_symbolic= 0&amp;nbsp; &amp;nbsp;timeMKL_phase22= 16.5589 timeMKL_phase331= 3.07169 timeMKL_schurSolver= 0.684186 timeMKL_phase333= 3.42943&lt;/P&gt;</description>
    <pubDate>Tue, 14 Dec 2021 07:55:26 GMT</pubDate>
    <dc:creator>bopeng</dc:creator>
    <dc:date>2021-12-14T07:55:26Z</dc:date>
    <item>
      <title>Pardiso linear solver, 300 x 300 matrix, phase 11 cost too much time</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-linear-solver-300-x-300-matrix-phase-11-cost-too-much/m-p/1343906#M32439</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In our case, the H matrix are sparse matrix with height 300 width 300.&lt;/P&gt;
&lt;P&gt;our MKL call stack are:&lt;/P&gt;
&lt;P&gt;1. phase 11 ( ~30ms)&lt;/P&gt;
&lt;P&gt;2. phase 22 ( ~1.1ms)&lt;/P&gt;
&lt;P&gt;3. phase 33 (~1ms)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I understand phase 11 only need to do once, but even our solve iteration are 10 loop, the total time will be 30+ (1.1+1)*10 = 51ms.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;in this situation, phase 11 cost more than 60% time, any ways to avoid the overhead?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/111125"&gt;@Kirill_V_Intel&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Bo&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Dec 2021 06:52:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-linear-solver-300-x-300-matrix-phase-11-cost-too-much/m-p/1343906#M32439</guid>
      <dc:creator>bopeng</dc:creator>
      <dc:date>2021-12-14T06:52:58Z</dc:date>
    </item>
    <item>
      <title>Re: Pardiso linear solver, 300 x 300 matrix, phase 11 cost too much time</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-linear-solver-300-x-300-matrix-phase-11-cost-too-much/m-p/1343909#M32440</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Unfortunately, not really (we have a couple of features which can help improving reordering for large systems but they won't help here). It is a known issue that reordering phase has some not-so-easily reduced overheads, which can be limiting performance for small matrices.&lt;/P&gt;
&lt;P&gt;For 300x300 sparse matrices, I'd recommend to use dense linear algebra solvers (from LAPACK). Regularity of data access should more than compensate for using some zero entries. Unless you have some specific details in your application which make sparse solvers look more attractive.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best,&lt;BR /&gt;Kirill&lt;/P&gt;</description>
      <pubDate>Tue, 14 Dec 2021 06:59:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-linear-solver-300-x-300-matrix-phase-11-cost-too-much/m-p/1343909#M32440</guid>
      <dc:creator>Kirill_V_Intel</dc:creator>
      <dc:date>2021-12-14T06:59:25Z</dc:date>
    </item>
    <item>
      <title>Re: Pardiso linear solver, 300 x 300 matrix, phase 11 cost too much time</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-linear-solver-300-x-300-matrix-phase-11-cost-too-much/m-p/1343919#M32441</link>
      <description>&lt;P&gt;thanks for your reply, Kirill.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;actually our case is for SLAM bundle adjustment, which has Pose 50, Landmark 3000.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the matrix will be 50*6 + 3000*3 = 9300 rows and cols.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;if use schur complement, the phase 11 need 100+ms to do, but solver phase only need like 20+ ms for one iteration.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;some logs:&lt;/P&gt;
&lt;P&gt;iteration= 0&lt;BR /&gt;timeMKL_phase11_symbolic= &lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;161.812&lt;/STRONG&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;timeMKL_phase22= 18.4635 timeMKL_phase331= 3.32485 timeMKL_schurSolver= 1.75007 timeMKL_phase333= 3.45389&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;iteration= 1&lt;BR /&gt;timeMKL_phase11_symbolic= 0&amp;nbsp; &amp;nbsp; timeMKL_phase22= 15.307 timeMKL_phase331= 3.02907 timeMKL_schurSolver= 0.69892 timeMKL_phase333= 3.40465&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;iteration= 2&lt;/P&gt;
&lt;P&gt;timeMKL_phase11_symbolic= 0&amp;nbsp; timeMKL_phase22= 15.3569 timeMKL_phase331= 2.9652 timeMKL_schurSolver= 0.699728 timeMKL_phase333= 3.44434&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;...&lt;BR /&gt;iteration= 9&lt;BR /&gt;timeMKL_phase11_symbolic= 0&amp;nbsp; &amp;nbsp;timeMKL_phase22= 16.5589 timeMKL_phase331= 3.07169 timeMKL_schurSolver= 0.684186 timeMKL_phase333= 3.42943&lt;/P&gt;</description>
      <pubDate>Tue, 14 Dec 2021 07:55:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-linear-solver-300-x-300-matrix-phase-11-cost-too-much/m-p/1343919#M32441</guid>
      <dc:creator>bopeng</dc:creator>
      <dc:date>2021-12-14T07:55:26Z</dc:date>
    </item>
    <item>
      <title>Re:Pardiso linear solver, 300 x 300 matrix, phase 11 cost too much time</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-linear-solver-300-x-300-matrix-phase-11-cost-too-much/m-p/1345885#M32480</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for posting in Intel communities. We are working on your issue. We will get back to you soon.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 22 Dec 2021 05:43:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-linear-solver-300-x-300-matrix-phase-11-cost-too-much/m-p/1345885#M32480</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2021-12-22T05:43:53Z</dc:date>
    </item>
    <item>
      <title>Re:Pardiso linear solver, 300 x 300 matrix, phase 11 cost too much time</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-linear-solver-300-x-300-matrix-phase-11-cost-too-much/m-p/1352146#M32590</link>
      <description>&lt;P&gt;Bo,&lt;/P&gt;&lt;P&gt;The ticket is closing. In this case, when the request will be implemented, we will re-open this case and update this thread accordingly. &lt;/P&gt;&lt;P&gt;-Gennady&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 18 Jan 2022 04:28:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-linear-solver-300-x-300-matrix-phase-11-cost-too-much/m-p/1352146#M32590</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2022-01-18T04:28:21Z</dc:date>
    </item>
  </channel>
</rss>

