<?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 calling pardiso in parallel? in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/calling-pardiso-in-parallel/m-p/791478#M2257</link>
    <description>Hello Yujun, &lt;BR /&gt;&lt;BR /&gt;Just notice your question is still open. So share some thoughts.&lt;BR /&gt;&lt;BR /&gt;You may have known, Pardiso itself is threaded internally in MKL library at early version and enabled if link mkl_intel_thread.lib library. So from the point of view of high efficiency on multi-core( I assume you are runing the application on multi-core machine, if cluster, you may consider single node with multi-core cpu), we will suggest you to use the Pardiso intenal paralell directly.&lt;BR /&gt;&lt;BR /&gt;for example, link with option Qmkl:parallel if with Intel Compiler.Then youwill see the pardiso are running in parallel.(allcores usage runing almost 100%, andto addexternal parallelmay causeoverhead)&lt;BR /&gt;&lt;BR /&gt;Here aresome dicussions about Paradiso usage on the forum and MKL KB. &lt;BR /&gt;&lt;A href="http://software.intel.com/en-us/articles/pardiso-tips/"&gt;&lt;B&gt;Tips for using PARDISO&lt;/B&gt;&lt;/A&gt; &lt;A target="_blank" href="http://software.intel.com/en-us/articles/pardiso-tips/feed/"&gt;&lt;IMG src="http://software.intel.com/media/images/small_icons/rss.png" border="0" /&gt;&lt;/A&gt; &lt;BR /&gt;&lt;A href="http://software.intel.com/en-us/articles/enabling-parallelization-in-reordering-and-symbolic-factorization-steps-in-pardiso-and-dss/"&gt;http://software.intel.com/en-us/articles/enabling-parallelization-in-reordering-and-symbolic-factorization-steps-in-pardiso-and-dss/&lt;/A&gt;. &lt;BR /&gt;And the MKL userguide=&amp;gt;Using the Intel MKL Parallelism&lt;BR /&gt;&lt;BR /&gt;If you perfer to implement the parallel upon the pardiso,in general,link Qmkl:sequential is fine (no multi-treaded issue) . Iflink with Qmkl:parallelwithcustomer parallel method, it should be ok too because&lt;BR /&gt;&lt;BR /&gt;Intel MKL is thread-safe, which means that all Intel MKL functions work correctly during&lt;BR /&gt;simultaneous execution by multiple threads. In particular, any chunk of threaded Intel MKL&lt;BR /&gt;code provides access for multiple threads to the same shared data, while permitting only&lt;BR /&gt;one thread at any given time to access a shared piece of data. Therefore, you can call Intel&lt;BR /&gt;MKL from multiple threads and not worry about the function instances interfering with each&lt;BR /&gt;other.&lt;BR /&gt;&lt;BR /&gt;But as you mentioned , "But it seems the threads calling pardiso subroutines independently mess up with pardiso's internal structure so that the final answers are completely wrong."&lt;BR /&gt;You may need to take care of all sharedvariables (parameter)betweenimplemented threadsby yourself . &lt;BR /&gt;For example, give local variable for each implemented threads. If it is still issue, could you please tellhowyou implement the threads calling pardiso so get wrong result?&lt;BR /&gt;&lt;BR /&gt;Best Regards,&lt;BR /&gt;Ying</description>
    <pubDate>Mon, 10 Jan 2011 07:38:39 GMT</pubDate>
    <dc:creator>Ying_H_Intel</dc:creator>
    <dc:date>2011-01-10T07:38:39Z</dc:date>
    <item>
      <title>calling pardiso in parallel?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/calling-pardiso-in-parallel/m-p/791477#M2256</link>
      <description>Hello, all,&lt;BR /&gt;&lt;BR /&gt;I am recently solving large scale sparse linear equations. To improve the efficiency, I tried to call pardiso subroutines to solve different equations (different matrices and right hands) in parallel. But it seems the threads calling pardiso subroutines independently mess up with pardiso's internal structure so that the final answers are completely wrong. Could you think of any possible strategy to correctly use pardiso in parallel?&lt;BR /&gt;&lt;BR /&gt;Thanks a lot!&lt;BR /&gt;</description>
      <pubDate>Wed, 23 Jun 2010 16:43:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/calling-pardiso-in-parallel/m-p/791477#M2256</guid>
      <dc:creator>Yujun_Wang</dc:creator>
      <dc:date>2010-06-23T16:43:22Z</dc:date>
    </item>
    <item>
      <title>calling pardiso in parallel?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/calling-pardiso-in-parallel/m-p/791478#M2257</link>
      <description>Hello Yujun, &lt;BR /&gt;&lt;BR /&gt;Just notice your question is still open. So share some thoughts.&lt;BR /&gt;&lt;BR /&gt;You may have known, Pardiso itself is threaded internally in MKL library at early version and enabled if link mkl_intel_thread.lib library. So from the point of view of high efficiency on multi-core( I assume you are runing the application on multi-core machine, if cluster, you may consider single node with multi-core cpu), we will suggest you to use the Pardiso intenal paralell directly.&lt;BR /&gt;&lt;BR /&gt;for example, link with option Qmkl:parallel if with Intel Compiler.Then youwill see the pardiso are running in parallel.(allcores usage runing almost 100%, andto addexternal parallelmay causeoverhead)&lt;BR /&gt;&lt;BR /&gt;Here aresome dicussions about Paradiso usage on the forum and MKL KB. &lt;BR /&gt;&lt;A href="http://software.intel.com/en-us/articles/pardiso-tips/"&gt;&lt;B&gt;Tips for using PARDISO&lt;/B&gt;&lt;/A&gt; &lt;A target="_blank" href="http://software.intel.com/en-us/articles/pardiso-tips/feed/"&gt;&lt;IMG src="http://software.intel.com/media/images/small_icons/rss.png" border="0" /&gt;&lt;/A&gt; &lt;BR /&gt;&lt;A href="http://software.intel.com/en-us/articles/enabling-parallelization-in-reordering-and-symbolic-factorization-steps-in-pardiso-and-dss/"&gt;http://software.intel.com/en-us/articles/enabling-parallelization-in-reordering-and-symbolic-factorization-steps-in-pardiso-and-dss/&lt;/A&gt;. &lt;BR /&gt;And the MKL userguide=&amp;gt;Using the Intel MKL Parallelism&lt;BR /&gt;&lt;BR /&gt;If you perfer to implement the parallel upon the pardiso,in general,link Qmkl:sequential is fine (no multi-treaded issue) . Iflink with Qmkl:parallelwithcustomer parallel method, it should be ok too because&lt;BR /&gt;&lt;BR /&gt;Intel MKL is thread-safe, which means that all Intel MKL functions work correctly during&lt;BR /&gt;simultaneous execution by multiple threads. In particular, any chunk of threaded Intel MKL&lt;BR /&gt;code provides access for multiple threads to the same shared data, while permitting only&lt;BR /&gt;one thread at any given time to access a shared piece of data. Therefore, you can call Intel&lt;BR /&gt;MKL from multiple threads and not worry about the function instances interfering with each&lt;BR /&gt;other.&lt;BR /&gt;&lt;BR /&gt;But as you mentioned , "But it seems the threads calling pardiso subroutines independently mess up with pardiso's internal structure so that the final answers are completely wrong."&lt;BR /&gt;You may need to take care of all sharedvariables (parameter)betweenimplemented threadsby yourself . &lt;BR /&gt;For example, give local variable for each implemented threads. If it is still issue, could you please tellhowyou implement the threads calling pardiso so get wrong result?&lt;BR /&gt;&lt;BR /&gt;Best Regards,&lt;BR /&gt;Ying</description>
      <pubDate>Mon, 10 Jan 2011 07:38:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/calling-pardiso-in-parallel/m-p/791478#M2257</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2011-01-10T07:38:39Z</dc:date>
    </item>
  </channel>
</rss>

