<?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: OpenMP and FFT in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/OpenMP-and-FFT/m-p/854675#M6860</link>
    <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Dima and Gennady:&lt;BR /&gt;&lt;BR /&gt;Thanks for your help - it is now working great!&lt;BR /&gt;&lt;BR /&gt;Mandrew&lt;BR /&gt;</description>
    <pubDate>Mon, 05 Oct 2009 14:17:25 GMT</pubDate>
    <dc:creator>mandrew</dc:creator>
    <dc:date>2009-10-05T14:17:25Z</dc:date>
    <item>
      <title>OpenMP and FFT</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/OpenMP-and-FFT/m-p/854672#M6857</link>
      <description>Hello,&lt;BR /&gt;&lt;BR /&gt;I am currently trying to take the FFTs of several functions using the following command:&lt;BR /&gt;&lt;BR /&gt; DO i=1,N&lt;BR /&gt; Status = DftiComputeForward( Desc_Handle, f1(i,:))&lt;BR /&gt; Status = DftiComputeForward( Desc_Handle, f2(i,:))&lt;BR /&gt; Status = DftiComputeForward( Desc_Handle, f3(i,:))&lt;BR /&gt; Status = DftiComputeForward( Desc_Handle, f4(i,:))&lt;BR /&gt; END DO&lt;BR /&gt;&lt;BR /&gt;Where I have used the following initializations:&lt;BR /&gt;&lt;BR /&gt;Threads = 1&lt;BR /&gt;Status = DftiCreateDescriptor( Desc_Handle, DFTI_DOUBLE, &amp;amp;&lt;BR /&gt; DFTI_REAL, 1, M )&lt;BR /&gt;Status = DftiSetValue(Desc_Handle, DFTI_BACKWARD_SCALE, Scale)&lt;BR /&gt;Status = DftiSetValue(Desc_Handle, DFTI_NUMBER_OF_USER_THREADS, Threads)&lt;BR /&gt;Status = DftiSetValue(Desc_Handle, DFTI_PACKED_FORMAT, DFTI_CCS_FORMAT)&lt;BR /&gt;Status = DftiCommitDescriptor( Desc_Handle )&lt;BR /&gt;&lt;BR /&gt;I would like to parallelize the the loop given above using OpenMP:&lt;BR /&gt;&lt;BR /&gt; !$OMP DO&lt;BR /&gt; DO i=1,N&lt;BR /&gt; Status = DftiComputeForward( Desc_Handle, f1(i,:))&lt;BR /&gt; Status = DftiComputeForward( Desc_Handle, f2(i,:))&lt;BR /&gt; Status = DftiComputeForward( Desc_Handle, f3(i,:))&lt;BR /&gt; Status = DftiComputeForward( Desc_Handle, f4(i,:))&lt;BR /&gt; END DO&lt;BR /&gt; !$OMP END DO&lt;BR /&gt;&lt;BR /&gt;However, I realize that this cannot work using the same Desc_Handle. Can anyone make a recommendation on how to treat the descriptor handle? In other words, what is the simplest way to parallelize the above loop using Intel's FFT functions?&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Mandrew&lt;BR /&gt;</description>
      <pubDate>Mon, 05 Oct 2009 03:51:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/OpenMP-and-FFT/m-p/854672#M6857</guid>
      <dc:creator>mandrew</dc:creator>
      <dc:date>2009-10-05T03:51:30Z</dc:date>
    </item>
    <item>
      <title>Re: OpenMP and FFT</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/OpenMP-and-FFT/m-p/854673#M6858</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;BR /&gt;Hi Mandrew,&lt;BR /&gt;&lt;BR /&gt;Once single descriptor is to be shared between N user threads, the value of parameter DFTI_NUMBER_OF_USER_THREADS should be set to N. And the OpenMP loop should be limited to that number via num_threads(N) clause.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Dima&lt;/P&gt;</description>
      <pubDate>Mon, 05 Oct 2009 05:16:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/OpenMP-and-FFT/m-p/854673#M6858</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2009-10-05T05:16:44Z</dc:date>
    </item>
    <item>
      <title>Re: OpenMP and FFT</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/OpenMP-and-FFT/m-p/854674#M6859</link>
      <description>&lt;BR /&gt;
&lt;P&gt;Mandrew,&lt;BR /&gt;as an addition to Dima's comments, please look at the article "Different parallelization techniques for MKL FFT" by the following the link "&lt;A href="http://software.intel.com/en-us/articles/different-parallelization-techniques-and-intel-mkl-fft/"&gt;http://software.intel.com/en-us/articles/different-parallelization-techniques-and-intel-mkl-fft/&lt;/A&gt;" See the example #4.&lt;BR /&gt;--Gennady&lt;/P&gt;</description>
      <pubDate>Mon, 05 Oct 2009 07:38:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/OpenMP-and-FFT/m-p/854674#M6859</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2009-10-05T07:38:32Z</dc:date>
    </item>
    <item>
      <title>Re: OpenMP and FFT</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/OpenMP-and-FFT/m-p/854675#M6860</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Dima and Gennady:&lt;BR /&gt;&lt;BR /&gt;Thanks for your help - it is now working great!&lt;BR /&gt;&lt;BR /&gt;Mandrew&lt;BR /&gt;</description>
      <pubDate>Mon, 05 Oct 2009 14:17:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/OpenMP-and-FFT/m-p/854675#M6860</guid>
      <dc:creator>mandrew</dc:creator>
      <dc:date>2009-10-05T14:17:25Z</dc:date>
    </item>
  </channel>
</rss>

