<?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 MKL DFTs in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/parallel-MKL-DFTs/m-p/893204#M10575</link>
    <description>&lt;P&gt;Olivier,&lt;/P&gt;
&lt;P&gt;If you know how many parallel threads are going to use the shared descriptor, you need to set DFTI_NUMBER_OF_USER_THREADS to this value before commiting the descriptor. Presumably, this number is the value returned byomp_get_num_procs().&lt;/P&gt;
&lt;P&gt;Regards&lt;BR /&gt;Dima&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 16 Sep 2008 09:46:30 GMT</pubDate>
    <dc:creator>Dmitry_B_Intel</dc:creator>
    <dc:date>2008-09-16T09:46:30Z</dc:date>
    <item>
      <title>parallel MKL DFTs</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/parallel-MKL-DFTs/m-p/893203#M10574</link>
      <description>&lt;P&gt;&lt;FONT face="Arial"&gt;I am wondering what are the proper settings to be used for MKL DFT subroutines called from within a parallel region.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;Assume that I have an array made of N_DATA series of data, each series having a length N_TIME (not including padding for the DFTs). At any given time in my program, DFTs must be calculated for a subset of these N_DATA series. For instance, during the first loop of my main program, it may be needed to calculate DFTs for the series 1 to 10. Then, for the second loop, the DFTs may have to be performed for the series 1, 23, 899 etc. In other words, the number of DFTs to be performed at each iteration of my main loop is not known in advance.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;For each loop iteration, I still want the DFTs to be performed in parallel using all the CPUs of my system. I don't want to initialize my DFT descriptor for each iteration (it's too costly). The DFT descriptor must be initialized outside the loop, and therefore it is shared by all the DFT calls.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;My question is: what is the setting I need to use for the NUMBER_OF_USER_THREADS when I create my descriptor? Do I need to set it to a large value, and hope that this value will not be exceeded by the actual number of threads gathered in the parallel region?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;Here is a pseudo code illustrating what I am doing.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;...&lt;BR /&gt;STATUS = DFTICREATEDESCRIPTOR(SHARED_DESCRIPTOR,DFTI_DOUBLE,DFTI_REAL,1,N_TIME)&lt;BR /&gt;STATUS = DFTISETVALUE(SHARED_DESCRIPTOR,DFTI_NUMBER_OF_TRANSFORMS,1)&lt;BR /&gt;...&lt;BR /&gt;STATUS = DFTICOMMITDESCRIPTOR(SHARED_DESCRIPTOR)&lt;BR /&gt;DO J=1,1000&lt;BR /&gt;!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(I)&lt;BR /&gt;!$OMP DO&lt;BR /&gt;DO I=1,N_LOOPS(J)&lt;BR /&gt;STATUS=DFTICOMPUTEFORWARD(SHARED_DESCRIPTOR,X(I_START(I,J):I_END(I,J)))&lt;BR /&gt;ENDDO&lt;BR /&gt;!$OMP END DO NOWAIT&lt;BR /&gt;!$OMP END PARALLEL&lt;BR /&gt;ENDDO&lt;BR /&gt;...&lt;BR /&gt;STATUS=DFTIFREEDESCRIPTOR(SHARED_DESCRIPTOR)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;Thanks in advance for your help!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial"&gt;Olivier&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Sep 2008 18:07:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/parallel-MKL-DFTs/m-p/893203#M10574</guid>
      <dc:creator>OP1</dc:creator>
      <dc:date>2008-09-02T18:07:03Z</dc:date>
    </item>
    <item>
      <title>Re: parallel MKL DFTs</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/parallel-MKL-DFTs/m-p/893204#M10575</link>
      <description>&lt;P&gt;Olivier,&lt;/P&gt;
&lt;P&gt;If you know how many parallel threads are going to use the shared descriptor, you need to set DFTI_NUMBER_OF_USER_THREADS to this value before commiting the descriptor. Presumably, this number is the value returned byomp_get_num_procs().&lt;/P&gt;
&lt;P&gt;Regards&lt;BR /&gt;Dima&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Sep 2008 09:46:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/parallel-MKL-DFTs/m-p/893204#M10575</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2008-09-16T09:46:30Z</dc:date>
    </item>
  </channel>
</rss>

