<?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: Parallel execution of HEGVD (OpenMP) in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Parallel-execution-of-HEGVD-OpenMP/m-p/937807#M14240</link>
    <description>Did you set the environment variable MKL_SERIAL=yes , in accordance with the recommendation to start parallel threads either outside or inside MKL functions, but not both ways?&lt;BR /&gt;I'm wondering whether implicitly creating temporary argument vectors for each call is the best way.</description>
    <pubDate>Mon, 03 Apr 2006 22:38:22 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2006-04-03T22:38:22Z</dc:date>
    <item>
      <title>Parallel execution of HEGVD (OpenMP)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Parallel-execution-of-HEGVD-OpenMP/m-p/937805#M14238</link>
      <description>Hi everybody,&lt;BR /&gt;&lt;BR /&gt;I'm quite new to MKL and LAPACK, however, I'm trying to execute the following piece of code on an SGI Altix (Itanium2):&lt;BR /&gt;&lt;BR /&gt;!$omp parallel do default(private) shared(tb, S2, failed)&lt;BR /&gt;do k = 1, tb%nk&lt;BR /&gt;S2(:, :, k) = tb%S(:, :, k)&lt;BR /&gt;call hegvd(tb%evecs(:, :, k), S2(:, :, k), tb%evals(:, k), jobz='V', info=info)&lt;BR /&gt;if (info /= 0) then&lt;BR /&gt;!$omp critical&lt;BR /&gt;failed = .true.&lt;BR /&gt;!$omp end critical&lt;BR /&gt;endif&lt;BR /&gt;enddo&lt;BR /&gt;!$omp end parallel do&lt;BR /&gt;&lt;BR /&gt;S2, tb%evecs are complex matrices, tb%evals is real (double precision). It works perfectly when running with a single thread, I do however get a segfault when using multiple threads. Am I doing something wrong are is MKL not thread-safe for HEGVD?&lt;BR /&gt;&lt;BR /&gt;Thanks for your help!&lt;BR /&gt;&lt;BR /&gt;Lars</description>
      <pubDate>Fri, 31 Mar 2006 14:51:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Parallel-execution-of-HEGVD-OpenMP/m-p/937805#M14238</guid>
      <dc:creator>Lars_Pastewka</dc:creator>
      <dc:date>2006-03-31T14:51:51Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel execution of HEGVD (OpenMP)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Parallel-execution-of-HEGVD-OpenMP/m-p/937806#M14239</link>
      <description>at line 3 you assign to a shared array S2 in each cycle. It looks like it should have been private.</description>
      <pubDate>Sat, 01 Apr 2006 23:28:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Parallel-execution-of-HEGVD-OpenMP/m-p/937806#M14239</guid>
      <dc:creator>hajek</dc:creator>
      <dc:date>2006-04-01T23:28:49Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel execution of HEGVD (OpenMP)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Parallel-execution-of-HEGVD-OpenMP/m-p/937807#M14240</link>
      <description>Did you set the environment variable MKL_SERIAL=yes , in accordance with the recommendation to start parallel threads either outside or inside MKL functions, but not both ways?&lt;BR /&gt;I'm wondering whether implicitly creating temporary argument vectors for each call is the best way.</description>
      <pubDate>Mon, 03 Apr 2006 22:38:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Parallel-execution-of-HEGVD-OpenMP/m-p/937807#M14240</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2006-04-03T22:38:22Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel execution of HEGVD (OpenMP)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Parallel-execution-of-HEGVD-OpenMP/m-p/937808#M14241</link>
      <description>I tried using MKL_SERIAL=yes with the same outcome. I actually also tried to use the F77 interface and create a seperate work area for each thread manually. In that case, I do not get a SEGFAULT, it rather boils out with an MKL error complaining some matrix is malformed (different error and different location every time, so that sort of hints that there is some information that is shared between the threads although it shouldn't).&lt;BR /&gt;&lt;BR /&gt;Lars</description>
      <pubDate>Mon, 03 Apr 2006 22:44:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Parallel-execution-of-HEGVD-OpenMP/m-p/937808#M14241</guid>
      <dc:creator>Lars_Pastewka</dc:creator>
      <dc:date>2006-04-03T22:44:13Z</dc:date>
    </item>
  </channel>
</rss>

