<?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 Thanks. It's good to know. I in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Using-multiple-DFTI-DESCRIPTOR-FFT-in-MKL/m-p/1165499#M28203</link>
    <description>&lt;P&gt;Thanks. It's good to know. I have the following section of code. My question is how to extend it to the cases with much more than 3 lengths? I tried to save the descriptor in an array,&amp;nbsp; it compiles and does now run.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Use MKL_DFTI&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer ier, n, k&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; complex cx(1000)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(DFTI_DESCRIPTOR), POINTER ::&amp;nbsp; HD1, HD2, HD3, HDk&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(DFTI_DESCRIPTOR) HD(3)&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCreateDescriptor(HD1,DFTI_SINGLE,DFTI_COMPLEX,1, 32)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCreateDescriptor(HD2,DFTI_SINGLE,DFTI_COMPLEX,1,132)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCreateDescriptor(HD3,DFTI_SINGLE,DFTI_COMPLEX,1,232)&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCommitDescriptor(HD1)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCommitDescriptor(HD2)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCommitDescriptor(HD3)&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HD(1) = HD1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HD(2) = HD2&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HD(3) = HD3&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do k = 1, 3&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n = 32 + 100*(k-1)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! ignored : Fill cx(1) ... cx(n)&lt;/P&gt;

&lt;P&gt;! The following does not work:&lt;BR /&gt;
	!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HDk = HD(k)&lt;/P&gt;

&lt;P&gt;! But this is OK&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(k.eq.1 ) HDk=HD1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(k.eq.1 ) HDk=HD2&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(k.eq.1 ) HDk=HD3&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier = DftiComputeForward( HDk, cx )&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier = DftiFreeDescriptor(HD1)&lt;/P&gt;</description>
    <pubDate>Sat, 12 Aug 2017 13:44:42 GMT</pubDate>
    <dc:creator>Chris_L_1</dc:creator>
    <dc:date>2017-08-12T13:44:42Z</dc:date>
    <item>
      <title>Using multiple DFTI DESCRIPTOR (FFT in MKL)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Using-multiple-DFTI-DESCRIPTOR-FFT-in-MKL/m-p/1165497#M28201</link>
      <description>&lt;P&gt;Is it possible to create and commit several different DFTI descriptor and re-use them later (the FFT of different sizes will be called many times, and creating the descriptor and free it for each call seems not efficient). In other words, can the descriptor be created/committed and then saved in some arrays?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Aug 2017 19:14:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Using-multiple-DFTI-DESCRIPTOR-FFT-in-MKL/m-p/1165497#M28201</guid>
      <dc:creator>Chris_L_1</dc:creator>
      <dc:date>2017-08-11T19:14:42Z</dc:date>
    </item>
    <item>
      <title>yes, that's possible.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Using-multiple-DFTI-DESCRIPTOR-FFT-in-MKL/m-p/1165498#M28202</link>
      <description>&lt;P&gt;yes, that's possible.&lt;/P&gt;</description>
      <pubDate>Sat, 12 Aug 2017 04:24:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Using-multiple-DFTI-DESCRIPTOR-FFT-in-MKL/m-p/1165498#M28202</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2017-08-12T04:24:33Z</dc:date>
    </item>
    <item>
      <title>Thanks. It's good to know. I</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Using-multiple-DFTI-DESCRIPTOR-FFT-in-MKL/m-p/1165499#M28203</link>
      <description>&lt;P&gt;Thanks. It's good to know. I have the following section of code. My question is how to extend it to the cases with much more than 3 lengths? I tried to save the descriptor in an array,&amp;nbsp; it compiles and does now run.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Use MKL_DFTI&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer ier, n, k&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; complex cx(1000)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(DFTI_DESCRIPTOR), POINTER ::&amp;nbsp; HD1, HD2, HD3, HDk&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(DFTI_DESCRIPTOR) HD(3)&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCreateDescriptor(HD1,DFTI_SINGLE,DFTI_COMPLEX,1, 32)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCreateDescriptor(HD2,DFTI_SINGLE,DFTI_COMPLEX,1,132)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCreateDescriptor(HD3,DFTI_SINGLE,DFTI_COMPLEX,1,232)&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCommitDescriptor(HD1)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCommitDescriptor(HD2)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier=DftiCommitDescriptor(HD3)&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HD(1) = HD1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HD(2) = HD2&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HD(3) = HD3&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do k = 1, 3&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n = 32 + 100*(k-1)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! ignored : Fill cx(1) ... cx(n)&lt;/P&gt;

&lt;P&gt;! The following does not work:&lt;BR /&gt;
	!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HDk = HD(k)&lt;/P&gt;

&lt;P&gt;! But this is OK&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(k.eq.1 ) HDk=HD1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(k.eq.1 ) HDk=HD2&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(k.eq.1 ) HDk=HD3&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier = DftiComputeForward( HDk, cx )&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ier = DftiFreeDescriptor(HD1)&lt;/P&gt;</description>
      <pubDate>Sat, 12 Aug 2017 13:44:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Using-multiple-DFTI-DESCRIPTOR-FFT-in-MKL/m-p/1165499#M28203</guid>
      <dc:creator>Chris_L_1</dc:creator>
      <dc:date>2017-08-12T13:44:42Z</dc:date>
    </item>
    <item>
      <title>Error correction: The pointer</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Using-multiple-DFTI-DESCRIPTOR-FFT-in-MKL/m-p/1165500#M28204</link>
      <description>&lt;P&gt;Error correction: The pointer assignments (in the above)&amp;nbsp;are&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(k.eq.1 ) HDk=&amp;gt;HD1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(k.eq.2 ) HDk=&amp;gt;HD2&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(k.eq.3 ) HDk=&amp;gt;HD3&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Are there any way to avoid writing the "if( ... ) ..." statement many times (e.g., ~ 20)?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Aug 2017 12:45:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Using-multiple-DFTI-DESCRIPTOR-FFT-in-MKL/m-p/1165500#M28204</guid>
      <dc:creator>Chris_L_1</dc:creator>
      <dc:date>2017-08-14T12:45:11Z</dc:date>
    </item>
  </channel>
</rss>

