<?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 within parallel region in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-within-parallel-region/m-p/812568#M4052</link>
    <description>Hello,&lt;BR /&gt;is it possible to call the PARDISO solver within an OpenMP &lt;BR /&gt;parallel region? I want to do something like&lt;BR /&gt;&lt;BR /&gt;!$omp parallel&lt;BR /&gt;call mysubroutine(...)&lt;BR /&gt;!$omp end parallel&lt;BR /&gt;&lt;BR /&gt;subroutine mysubroutine(...)&lt;BR /&gt;...&lt;BR /&gt;!$omp single&lt;BR /&gt;call omp_set_num_threads(nthreads)&lt;BR /&gt;call pardiso(...)&lt;BR /&gt;!$omp end single&lt;BR /&gt;...&lt;BR /&gt;end subroutine mysubroutine&lt;BR /&gt;&lt;BR /&gt;However, within the pardiso solver, the program justs stalls when &lt;BR /&gt;the number of threads is greater than one. The call to omp_set_num_threads&lt;BR /&gt;doesn't have any effect. What can I do?&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Mon, 04 Oct 2010 14:22:27 GMT</pubDate>
    <dc:creator>fah10</dc:creator>
    <dc:date>2010-10-04T14:22:27Z</dc:date>
    <item>
      <title>pardiso within parallel region</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-within-parallel-region/m-p/812568#M4052</link>
      <description>Hello,&lt;BR /&gt;is it possible to call the PARDISO solver within an OpenMP &lt;BR /&gt;parallel region? I want to do something like&lt;BR /&gt;&lt;BR /&gt;!$omp parallel&lt;BR /&gt;call mysubroutine(...)&lt;BR /&gt;!$omp end parallel&lt;BR /&gt;&lt;BR /&gt;subroutine mysubroutine(...)&lt;BR /&gt;...&lt;BR /&gt;!$omp single&lt;BR /&gt;call omp_set_num_threads(nthreads)&lt;BR /&gt;call pardiso(...)&lt;BR /&gt;!$omp end single&lt;BR /&gt;...&lt;BR /&gt;end subroutine mysubroutine&lt;BR /&gt;&lt;BR /&gt;However, within the pardiso solver, the program justs stalls when &lt;BR /&gt;the number of threads is greater than one. The call to omp_set_num_threads&lt;BR /&gt;doesn't have any effect. What can I do?&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 04 Oct 2010 14:22:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-within-parallel-region/m-p/812568#M4052</guid>
      <dc:creator>fah10</dc:creator>
      <dc:date>2010-10-04T14:22:27Z</dc:date>
    </item>
    <item>
      <title>pardiso within parallel region</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-within-parallel-region/m-p/812569#M4053</link>
      <description>Please take a look at the similar &lt;A href="http://software.intel.com/en-us/forums/showthread.php?t=77697&amp;amp;o=d&amp;amp;s=lr"&gt;thread&lt;/A&gt;related to nested OMP parallelization</description>
      <pubDate>Tue, 05 Oct 2010 05:12:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-within-parallel-region/m-p/812569#M4053</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2010-10-05T05:12:03Z</dc:date>
    </item>
    <item>
      <title>pardiso within parallel region</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-within-parallel-region/m-p/812570#M4054</link>
      <description>Thanks for the link.&lt;BR /&gt;I have successfully called omp_set_nested(.true.) to enable nesting.&lt;BR /&gt;&lt;BR /&gt;However, PARDISO always stalls (at 0% cpu usage) when it's called &lt;BR /&gt;within an active parallel region:&lt;BR /&gt;call omp_set_nested(.true.)&lt;BR /&gt;
print*,omp_get_nested() ! returns true&lt;BR /&gt;
!$omp parallel&lt;BR /&gt;
!$omp single&lt;BR /&gt;
call pardiso(...) ! stalls&lt;BR /&gt;
!$omp end single&lt;BR /&gt;
!$omp end parallel&lt;BR /&gt;&lt;BR /&gt;I also tried to start a single PARDISO thread, e.g.&lt;BR /&gt;call omp_set_nested(.true.)&lt;BR /&gt;print*,omp_get_nested() ! returns true&lt;BR /&gt;!$omp parallel&lt;BR /&gt;!$omp single&lt;BR /&gt;call omp_set_num_threads(1)&lt;BR /&gt;!... set pardiso number of threads, iparm(3)=1&lt;BR /&gt;call pardiso(...)&lt;BR /&gt;!$omp end single&lt;BR /&gt;!$omp end parallel&lt;BR /&gt;&lt;BR /&gt;Even this call stalls when the number of outer threads&amp;gt;1 just like in &lt;BR /&gt;the non-nested case:&lt;BR /&gt;&lt;BR /&gt;call omp_set_nested(.false.)&lt;BR /&gt;
!$omp parallel&lt;BR /&gt;
!$omp single&lt;BR /&gt;
!... set pardiso number of threads, iparm(3)=1&lt;BR /&gt;call pardiso(...) ! stalls&lt;BR /&gt;
!$omp end single&lt;BR /&gt;
!$omp end parallel&lt;BR /&gt;
&lt;BR /&gt;Creating a thread pool of 2x the number of logical processors or invoking&lt;BR /&gt;KMP_BLOCKTIME as described in the other forum thread also didn't help.&lt;BR /&gt;Is there something special about PARDISO?&lt;BR /&gt;</description>
      <pubDate>Tue, 05 Oct 2010 12:30:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-within-parallel-region/m-p/812570#M4054</guid>
      <dc:creator>fah10</dc:creator>
      <dc:date>2010-10-05T12:30:49Z</dc:date>
    </item>
    <item>
      <title>pardiso within parallel region</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-within-parallel-region/m-p/812571#M4055</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;Please be sure that diferent threads use diferent ipram's because they are supposed to be private&lt;/P&gt;</description>
      <pubDate>Thu, 07 Oct 2010 10:58:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/pardiso-within-parallel-region/m-p/812571#M4055</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2010-10-07T10:58:59Z</dc:date>
    </item>
  </channel>
</rss>

