<?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 DftiSetValue and DFTI_NUMBER_OF_TRANSFORMS in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778879#M1272</link>
    <description>Hi John,&lt;BR /&gt;&lt;BR /&gt;If you do a bunch of small transforms, where function call overhead comprises a noticeable part of the transform time, doing the bunch in a single call is more efficient. For large transforms doing the transforms separately may be more efficient, because each of the separate transforms will be done in parallel, whereas the bunch of transform will be often parallelized in a transform per thread fashion.&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;Dima&lt;BR /&gt;</description>
    <pubDate>Fri, 26 Nov 2010 15:42:37 GMT</pubDate>
    <dc:creator>Dmitry_B_Intel</dc:creator>
    <dc:date>2010-11-26T15:42:37Z</dc:date>
    <item>
      <title>DftiSetValue and DFTI_NUMBER_OF_TRANSFORMS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778876#M1269</link>
      <description>&lt;BR /&gt;Hi MKL experts&lt;BR /&gt;&lt;BR /&gt;I hope someone can help me understand the setting of DFTI_NUMBER_OF_TRANSFORMS&lt;BR /&gt;&lt;BR /&gt;For example if I have a loop that implements an FFT of the same dimensions on each iteration:&lt;BR /&gt;&lt;BR /&gt;StatusSmall = DftiCreateDescriptor(FFTid, DFTI_SINGLE, DFTI_COMPLEX, 2, lgth)&lt;BR /&gt;StatusSmall = DftiCommitDescriptor(FFTid)&lt;BR /&gt;&lt;BR /&gt;DO lps=1,10&lt;BR /&gt; StatusBig = DftiComputeForward(FFTid, DFTarray)&lt;BR /&gt; DFTarray = SomeFunction(DFTarray)&lt;BR /&gt;END DO&lt;BR /&gt;&lt;BR /&gt;Do I set DFTI_NUMBER_OF_TRANSFORMS to 1 or 10?&lt;BR /&gt;&lt;BR /&gt;If not 10, then for what kind of situation do you need to set DFTI_NUMBER_OF_TRANSFORMS to a number other than 1?&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Wed, 24 Nov 2010 01:04:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778876#M1269</guid>
      <dc:creator>John_Kornak</dc:creator>
      <dc:date>2010-11-24T01:04:08Z</dc:date>
    </item>
    <item>
      <title>DftiSetValue and DFTI_NUMBER_OF_TRANSFORMS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778877#M1270</link>
      <description>Hi John,&lt;BR /&gt;&lt;BR /&gt;With DFTI_NUMBER_OF_TRANSFORMS = N function DftiComputeForward will do N transforms in a single call. The idea can be illustrated on basis of your example as follows:&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;[fortran]complex :: multple_dftarray(lgth(1),lgth(2),10)
...
DftiSetValue(fftid,DFTI_NUMBER_OF_TRANSFORMS,10)
DftiSetValue(fftid,DFTI_INPUT_DISTANCE, lgth(1)*lgth(2) )
...
statusbig = DftiComputeForward(fftid, multiple_dftarray) ! does 10 two-d transforms
do lps = 1, 10
   dft_array = somefunction( multiple_dftarray(:,:,lps) )
enddo
[/fortran]&lt;/PRE&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;Dima&lt;BR /&gt;</description>
      <pubDate>Wed, 24 Nov 2010 05:09:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778877#M1270</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2010-11-24T05:09:36Z</dc:date>
    </item>
    <item>
      <title>DftiSetValue and DFTI_NUMBER_OF_TRANSFORMS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778878#M1271</link>
      <description>&lt;BR /&gt;Thanks Dima,&lt;BR /&gt;&lt;BR /&gt;One follow up question. Is this multiple dft process more efficient than doing the 10 two-d transforms separately or does it just provide for more compact syntax?&lt;BR /&gt;&lt;BR /&gt;Cheers&lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Wed, 24 Nov 2010 17:22:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778878#M1271</guid>
      <dc:creator>John_Kornak</dc:creator>
      <dc:date>2010-11-24T17:22:15Z</dc:date>
    </item>
    <item>
      <title>DftiSetValue and DFTI_NUMBER_OF_TRANSFORMS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778879#M1272</link>
      <description>Hi John,&lt;BR /&gt;&lt;BR /&gt;If you do a bunch of small transforms, where function call overhead comprises a noticeable part of the transform time, doing the bunch in a single call is more efficient. For large transforms doing the transforms separately may be more efficient, because each of the separate transforms will be done in parallel, whereas the bunch of transform will be often parallelized in a transform per thread fashion.&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;Dima&lt;BR /&gt;</description>
      <pubDate>Fri, 26 Nov 2010 15:42:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778879#M1272</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2010-11-26T15:42:37Z</dc:date>
    </item>
    <item>
      <title>DftiSetValue and DFTI_NUMBER_OF_TRANSFORMS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778880#M1273</link>
      <description>Thanks Dima,&lt;BR /&gt;&lt;BR /&gt;That makes a lot of sense :)&lt;BR /&gt;&lt;BR /&gt;Do you have a rough intuition of what would be small enough for the function call overhead to become significant?&lt;BR /&gt;&lt;BR /&gt;Thanks &lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Fri, 26 Nov 2010 22:08:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778880#M1273</guid>
      <dc:creator>John_Kornak</dc:creator>
      <dc:date>2010-11-26T22:08:23Z</dc:date>
    </item>
    <item>
      <title>DftiSetValue and DFTI_NUMBER_OF_TRANSFORMS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778881#M1274</link>
      <description>Hi John,&lt;BR /&gt;&lt;BR /&gt;For example, if the data for one transform fits into L1 cache (32Kb) then threading overhead will likely overweight speedup due to parallelization. The data includesprecomputed trigonometric tables used toperfrom the FFT. &lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;Dima&lt;BR /&gt;</description>
      <pubDate>Tue, 30 Nov 2010 04:13:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778881#M1274</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2010-11-30T04:13:49Z</dc:date>
    </item>
    <item>
      <title>DftiSetValue and DFTI_NUMBER_OF_TRANSFORMS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778882#M1275</link>
      <description>&lt;BR /&gt;Thanks again Dima,&lt;BR /&gt;&lt;BR /&gt;I really appreciate your help.&lt;BR /&gt;&lt;BR /&gt;Best&lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Tue, 30 Nov 2010 19:30:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DftiSetValue-and-DFTI-NUMBER-OF-TRANSFORMS/m-p/778882#M1275</guid>
      <dc:creator>John_Kornak</dc:creator>
      <dc:date>2010-11-30T19:30:02Z</dc:date>
    </item>
  </channel>
</rss>

