<?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 Pardiso - error with user ordering in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878666#M9274</link>
    <description>&lt;P&gt;I'll put together a stand-alone example and attach it. Thanks.&lt;/P&gt;
&lt;P&gt;-20 was a typo. It's -2.&lt;/P&gt;
&lt;P&gt;Damien&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 05 Mar 2010 17:10:44 GMT</pubDate>
    <dc:creator>damienhocking</dc:creator>
    <dc:date>2010-03-05T17:10:44Z</dc:date>
    <item>
      <title>Pardiso - error with user ordering</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878663#M9271</link>
      <description>&lt;P&gt;I've been using Pardiso for a while now and I've started testing other ordering techniques. One that I really like is QAMD for quasi-dense rows, because it's very fast. I'm getting errors from Pardiso with a user-generated ordering on an usymmetric matrix. The problem is scalable, Pardiso doesn't fail on the smaller matrices but it does on the larger ones. It fails on the numeric factorisation, and says error -20. This is the 10.2 update 4 Windows release of Intel Pardiso that comes with the 11.1.060 compiler.&lt;/P&gt;
&lt;P&gt;I have a few questions.&lt;/P&gt;
&lt;P&gt;1) According to the docs, to use your own ordering, you set iparm(5) = 1 and set the perm array before a call to Pardiso with phase = 11. Is that all you need to do? I couldn't find anything about what to do with iparm(2) in this case, so I assumed Pardiso would ignore it.&lt;/P&gt;
&lt;P&gt;2) Pardiso wants the perm array as a row permutation, correct? The reordering code I'm using returns a column permutation, so I send it the transpose of A to get an equivalent row ordering.&lt;/P&gt;
&lt;P&gt;3) If I'm not doing anything wrong in my calling parameters, I might need to submit the matrix and the permutation vector. What format should they be in?&lt;/P&gt;
&lt;P&gt;Damien&lt;/P&gt;</description>
      <pubDate>Thu, 04 Mar 2010 19:37:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878663#M9271</guid>
      <dc:creator>damienhocking</dc:creator>
      <dc:date>2010-03-04T19:37:39Z</dc:date>
    </item>
    <item>
      <title>Pardiso - error with user ordering</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878664#M9272</link>
      <description>&lt;P&gt;Damien,&lt;/P&gt;
&lt;P&gt;It would be more useful ( this is the fastest way to find out the cause of the problem) if you submit the whole testcase ( source code + input data).&lt;/P&gt;
&lt;P&gt;error == -20? I couldn't find such error numbers in documentation for 10.2 update 4&lt;/P&gt;
&lt;P&gt;--Gennady&lt;/P&gt;</description>
      <pubDate>Fri, 05 Mar 2010 07:06:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878664#M9272</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-03-05T07:06:44Z</dc:date>
    </item>
    <item>
      <title>Pardiso - error with user ordering</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878665#M9273</link>
      <description>&lt;P&gt;Hello Damien,&lt;/P&gt;
&lt;P&gt;Let me answer your questions:&lt;/P&gt;
&lt;P&gt;1) Yes, you'd done all correctly. In case of user permutation iparm(2) parameter is just ignored.&lt;/P&gt;
&lt;P&gt;2) PARDISO uses only symmetrical permutations (even for unsymmetrical matrices), so it means it will be applied to both colimns and rows.&lt;/P&gt;
&lt;P&gt;3) As Gennady said, please sent the reference data.&lt;/P&gt;
&lt;P&gt;Thank you,&lt;/P&gt;
&lt;P&gt;Konstantin&lt;/P&gt;</description>
      <pubDate>Fri, 05 Mar 2010 07:21:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878665#M9273</guid>
      <dc:creator>Konstantin_A_Intel</dc:creator>
      <dc:date>2010-03-05T07:21:13Z</dc:date>
    </item>
    <item>
      <title>Pardiso - error with user ordering</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878666#M9274</link>
      <description>&lt;P&gt;I'll put together a stand-alone example and attach it. Thanks.&lt;/P&gt;
&lt;P&gt;-20 was a typo. It's -2.&lt;/P&gt;
&lt;P&gt;Damien&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Mar 2010 17:10:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878666#M9274</guid>
      <dc:creator>damienhocking</dc:creator>
      <dc:date>2010-03-05T17:10:44Z</dc:date>
    </item>
    <item>
      <title>Pardiso - error with user ordering</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878667#M9275</link>
      <description>Here's the data and a small test driver. The symbolic phase dies on memory allocation.</description>
      <pubDate>Fri, 05 Mar 2010 21:31:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878667#M9275</guid>
      <dc:creator>damienhocking</dc:creator>
      <dc:date>2010-03-05T21:31:54Z</dc:date>
    </item>
    <item>
      <title>Pardiso - error with user ordering</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878668#M9276</link>
      <description>&lt;P&gt;Damien,error == -2 means not enough memory. If you use in-core mode of PARDISO, please try to solve this task by running PARDISO in out-of-core mode ( iparm[59] = 2, and set the MKL_PARDISO_OOC_MAX_CORE_SIZE &amp;lt;= RAM available at your system).&lt;/P&gt;
&lt;P&gt;--Gennady&lt;/P&gt;</description>
      <pubDate>Sun, 07 Mar 2010 07:14:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878668#M9276</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-03-07T07:14:32Z</dc:date>
    </item>
    <item>
      <title>Pardiso - error with user ordering</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878669#M9277</link>
      <description>&lt;P&gt;Damien,&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV id="_mcePaste"&gt;I checked your problem on my local system :Core 2Duo system, RAM 2 GB ( but available memory was 1.1 Gb only. Because memory for solution your task (nequations= 800004 and nnz= 2096005) requires much larger memory then 1.1 Gb, PARDISO has been launched in out-of-core mode with MKL_PARDISO_OOC_MAX_CORE_SIZE=1000).&lt;/DIV&gt;
&lt;DIV&gt;PARDISO solved the task successfully. See the output below:&lt;/DIV&gt;
&lt;DIV&gt;--Gennady&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;+++++++++++++++++++++++++++++++++++++&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;The file .\pardiso_ooc.cfg was not opened&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;=== PARDISO is running in Out-Of-Core mode, because iparam(60)=2 ===&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;================ PARDISO: solving a real nonsymmetric system ================&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Summary PARDISO: ( reorder to reorder )&lt;/DIV&gt;
&lt;DIV&gt;================&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Times:&lt;/DIV&gt;
&lt;DIV&gt;======&lt;/DIV&gt;
&lt;DIV&gt;Time fulladj: 0.232677 s&lt;/DIV&gt;
&lt;DIV&gt;Time reorder: 0.008773 s&lt;/DIV&gt;
&lt;DIV&gt;Time symbfct: 5.178061 s&lt;/DIV&gt;
&lt;DIV&gt;Time malloc : 3.468740 s&lt;/DIV&gt;
&lt;DIV&gt;Time total : 186.823628 s total - sum: 177.935377 s&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Statistics:&lt;/DIV&gt;
&lt;DIV&gt;===========&lt;/DIV&gt;
&lt;DIV&gt;1&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;#equations:                   800004&lt;/DIV&gt;
&lt;DIV&gt;#non-zeros in A:                2096005&lt;/DIV&gt;
&lt;DIV&gt;non-zeros in A ():              0.000327&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;#right-hand sides:               1&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;#columns for each panel:            128&lt;/DIV&gt;
&lt;DIV&gt;#independent subgraphs:             0&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;#supernodes:                  784130&lt;/DIV&gt;
&lt;DIV&gt;size of largest supernode:           8000&lt;/DIV&gt;
&lt;DIV&gt;number of nonzeros in L             153841611&lt;/DIV&gt;
&lt;DIV&gt;number of nonzeros in U             151017799&lt;/DIV&gt;
&lt;DIV&gt;number of nonzeros in L+U            304859410&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Reordering completed ... Percentage of computed non-zeros for LL^T factorizatio&lt;/DIV&gt;
&lt;DIV&gt;n&lt;/DIV&gt;
&lt;DIV&gt;0 %&lt;/DIV&gt;
&lt;DIV&gt;1 %&lt;/DIV&gt;
&lt;DIV&gt;2 %&lt;/DIV&gt;
&lt;DIV&gt;3 %&lt;/DIV&gt;
&lt;DIV&gt;4 %&lt;/DIV&gt;
&lt;DIV&gt;5 %&lt;/DIV&gt;
&lt;DIV&gt;6 %&lt;/DIV&gt;
&lt;DIV&gt;7 %&lt;/DIV&gt;
&lt;DIV&gt;................................&lt;/DIV&gt;
&lt;DIV&gt;98 %&lt;/DIV&gt;
&lt;DIV&gt;99 %&lt;/DIV&gt;
&lt;DIV&gt;100 %&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;================ PARDISO: solving a real nonsymmetric system ================&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Summary PARDISO: ( factorize to factorize )&lt;/DIV&gt;
&lt;DIV&gt;================&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Times:&lt;/DIV&gt;
&lt;DIV&gt;======&lt;/DIV&gt;
&lt;DIV&gt;Time A to LU: 0.000000 s&lt;/DIV&gt;
&lt;DIV&gt;Factorization:  Time for writing to files : 141.430262&lt;/DIV&gt;
&lt;DIV&gt;Factorization:  Time for reading from files : 3901.309578&lt;/DIV&gt;
&lt;DIV&gt;Time numfct : 6795.462132 s&lt;/DIV&gt;
&lt;DIV&gt;Time malloc : 6.698081 s&lt;/DIV&gt;
&lt;DIV&gt;Time total : 6802.782343 s total - sum: 0.622130 s&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Statistics:&lt;/DIV&gt;
&lt;DIV&gt;===========&lt;/DIV&gt;
&lt;DIV&gt;1&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;#equations:                   800004&lt;/DIV&gt;
&lt;DIV&gt;#non-zeros in A:                2096005&lt;/DIV&gt;
&lt;DIV&gt;non-zeros in A ():              0.000327&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;#right-hand sides:               1&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;#columns for each panel:            128&lt;/DIV&gt;
&lt;DIV&gt;#independent subgraphs:             0&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;#supernodes:                  784130&lt;/DIV&gt;
&lt;DIV&gt;size of largest supernode:           8000&lt;/DIV&gt;
&lt;DIV&gt;number of nonzeros in L             153841611&lt;/DIV&gt;
&lt;DIV&gt;number of nonzeros in U             151017799&lt;/DIV&gt;
&lt;DIV&gt;number of nonzeros in L+U            304859410&lt;/DIV&gt;
&lt;DIV&gt;gflop  for the numerical factorization:    3072.194687&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;gflop/s for the numerical factorization:    0.452095&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 07 Mar 2010 14:57:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878669#M9277</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-03-07T14:57:46Z</dc:date>
    </item>
    <item>
      <title>Pardiso - error with user ordering</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878670#M9278</link>
      <description>&lt;P&gt;Wow. 150 *million* nonzeroes in the L and U factors? On a matrix with 2 million nonzeroes? I think that's the largest amount of fill-in I've ever seen on any problem.&lt;/P&gt;
&lt;P&gt;I got that ordering from a call to the MUMPS solver. Using the same ordering and factorising with MUMPS it runs in about 0.4 seconds on one processor. There must be something about that ordering that Pardiso doesn't like, or I'm putting the ordering in the wrong way. Pardiso factorises this problem quite quickly with its own internal orderings. MUMPS has AMD and METIS available, I'll extract those orderings from Pardiso and MUMPS and compare them. Something's definitely not right here. If I discover anything useful I'll post back.&lt;/P&gt;</description>
      <pubDate>Sun, 07 Mar 2010 17:38:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878670#M9278</guid>
      <dc:creator>damienhocking</dc:creator>
      <dc:date>2010-03-07T17:38:51Z</dc:date>
    </item>
    <item>
      <title>Pardiso - error with user ordering</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878671#M9279</link>
      <description>&lt;P&gt;I tested out the other orderings. They're similar but not the same, which makes sense because they're different codebases. Often they start out the same and then diverge. MUMPS returns a symmetric permutation, where perm&lt;I&gt; is the position of variable i in the pivot order. Is that what Pardiso accepts?&lt;/I&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Mar 2010 16:23:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878671#M9279</guid>
      <dc:creator>damienhocking</dc:creator>
      <dc:date>2010-03-08T16:23:46Z</dc:date>
    </item>
    <item>
      <title>Pardiso - error with user ordering - SOLVED</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878672#M9280</link>
      <description>&lt;P&gt;Allllllllrightythen. I found the problem. I'll skip the boring details of how I got to this. Depending on the implementation of the ordering code, the meaning of the symmetric permutation you get back can be different. For example,&lt;/P&gt;
&lt;P&gt;perm[1] = 4&lt;/P&gt;
&lt;P&gt;perm[2] = 87&lt;/P&gt;
&lt;P&gt;perm[3] = 2&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;can mean two things. It can mean variable (or column) 1 permutes to column 4, v2 permutes to column 87, v3 permutes to column 2 etc. Or, it can mean the inverse. Permuted column 1 has the old column 4, permuted 2 has old 87, permuted 3 has old 2 etc. This was the difference. MUMPS is returning the equivalent of the second (inverse) method. Once I flipped that around, Pardiso can factorise that system in under 1 second.&lt;/P&gt;
&lt;P&gt;Problem solved. Thank you Gennady and Konstantin for the help.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Mar 2010 00:59:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-error-with-user-ordering/m-p/878672#M9280</guid>
      <dc:creator>damienhocking</dc:creator>
      <dc:date>2010-03-09T00:59:44Z</dc:date>
    </item>
  </channel>
</rss>

