<?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 FFT library and allocatable arrays in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-library-and-allocatable-arrays/m-p/782150#M1564</link>
    <description>Hi John,&lt;BR /&gt;&lt;BR /&gt;This issue can be worked around as follows:&lt;BR /&gt;&lt;PRE&gt;[fortran]real input(:,:)
complex output(:,:)
allocate(input(M,N), output(M/2+1,N))
...
s = DftiComputeForward(desc, input(:,1), output(:,1))
[/fortran]&lt;/PRE&gt;&lt;BR /&gt;This technique assumes that compiler will simply pass pointers to the i/o arrays to the compute funcion. This may not work with array sections, like input(1:100:2,1).&lt;BR /&gt;&lt;BR /&gt;MKL version can be printed with this example (see also examples/servicefuncsf in your MKL installation)&lt;BR /&gt;&lt;PRE&gt;[fortran]program mklversion
  character*(200) :: MKLGetVersionString
  external MKLGetVersionString
  print *, trim(MKLGetVersionString())
end program mklversion
[/fortran]&lt;/PRE&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;Dima&lt;BR /&gt;</description>
    <pubDate>Fri, 19 Nov 2010 04:03:00 GMT</pubDate>
    <dc:creator>Dmitry_B_Intel</dc:creator>
    <dc:date>2010-11-19T04:03:00Z</dc:date>
    <item>
      <title>FFT library and allocatable arrays</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-library-and-allocatable-arrays/m-p/782149#M1563</link>
      <description>Hi,&lt;BR /&gt;
&lt;BR /&gt;
I would appreciate any help I can get with the following:&lt;BR /&gt;
&lt;BR /&gt;
I would like to be able to perform 2D fft on allocatable arrays, but the
 problem is that I need to have them as 1-D arrays for the Intel Math 
Kernel FFT library. The solution given in the manual is to use the 
equivalence statement but that doesn't work for dynamic arrays. I can 
think of 2 very clunky solutions:&lt;BR /&gt;
&lt;BR /&gt;
1) Convert matrices to 1-D before DFT and then back to 2D (but I guess this has considerable overhead?)&lt;BR /&gt;
2) Index all arrays as 1-D. (likely to lead to a lot of bugs) &lt;BR /&gt;
&lt;BR /&gt;
I would appreciate any more elegant and efficient solution that I can get!&lt;BR /&gt;
&lt;BR /&gt;
I am using ifort 11.1 on an iMac with an intel Core i7 processor and running Snow Leopard version 10.6.5. I am embarrased to say that I am not sure how to figure out what version of the math kernel I have but I installed the latest version around a month ago.&lt;BR /&gt;
&lt;BR /&gt;
Thanks&lt;BR /&gt;
&lt;BR /&gt;
John</description>
      <pubDate>Fri, 19 Nov 2010 01:13:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-library-and-allocatable-arrays/m-p/782149#M1563</guid>
      <dc:creator>John_Kornak</dc:creator>
      <dc:date>2010-11-19T01:13:10Z</dc:date>
    </item>
    <item>
      <title>FFT library and allocatable arrays</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-library-and-allocatable-arrays/m-p/782150#M1564</link>
      <description>Hi John,&lt;BR /&gt;&lt;BR /&gt;This issue can be worked around as follows:&lt;BR /&gt;&lt;PRE&gt;[fortran]real input(:,:)
complex output(:,:)
allocate(input(M,N), output(M/2+1,N))
...
s = DftiComputeForward(desc, input(:,1), output(:,1))
[/fortran]&lt;/PRE&gt;&lt;BR /&gt;This technique assumes that compiler will simply pass pointers to the i/o arrays to the compute funcion. This may not work with array sections, like input(1:100:2,1).&lt;BR /&gt;&lt;BR /&gt;MKL version can be printed with this example (see also examples/servicefuncsf in your MKL installation)&lt;BR /&gt;&lt;PRE&gt;[fortran]program mklversion
  character*(200) :: MKLGetVersionString
  external MKLGetVersionString
  print *, trim(MKLGetVersionString())
end program mklversion
[/fortran]&lt;/PRE&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;Dima&lt;BR /&gt;</description>
      <pubDate>Fri, 19 Nov 2010 04:03:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-library-and-allocatable-arrays/m-p/782150#M1564</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2010-11-19T04:03:00Z</dc:date>
    </item>
    <item>
      <title>FFT library and allocatable arrays</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-library-and-allocatable-arrays/m-p/782151#M1565</link>
      <description>Here are two more ways that you can find out the version of Intel MKL you're using:&lt;BR /&gt;&lt;OL&gt;&lt;LI&gt;If you know the compiler version and update number then you can use &lt;A href="http://software.intel.com/en-us/articles/which-version-of-ipp--mkl--tbb-is-installed-with-intel-compiler-professional-edition/"&gt;the table in our knowledgebase&lt;/A&gt; with corresponding library versions. There are now two tables actually: one for the &lt;A href="http://software.intel.com/en-us/articles/which-version-of-ipp--mkl--tbb-is-installed-with-intel-compiler-professional-edition/"&gt;compiler pro&lt;/A&gt; line (which it sounds you're currently using) and one for the new &lt;A href="http://software.intel.com/en-us/articles/which-version-of-the-intel-ipp-intel-mkl-and-intel-tbb-libraries-are-included-in-the-intel-composer-bundles/"&gt;Intel Composer XE 2011&lt;/A&gt; products.&lt;/LI&gt;&lt;LI&gt;In the doc directory open the mklsupport* file.&lt;/LI&gt;&lt;/OL&gt;Todd</description>
      <pubDate>Fri, 19 Nov 2010 19:03:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-library-and-allocatable-arrays/m-p/782151#M1565</guid>
      <dc:creator>Todd_R_Intel</dc:creator>
      <dc:date>2010-11-19T19:03:07Z</dc:date>
    </item>
    <item>
      <title>FFT library and allocatable arrays</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-library-and-allocatable-arrays/m-p/782152#M1566</link>
      <description>Sorry for the delay reporting back. It took me a while to get back to this project.&lt;BR /&gt;&lt;BR /&gt;Thank you very much Dmitry and Todd. Your solutions worked perfectly for me.&lt;BR /&gt;&lt;BR /&gt;Cheers&lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Tue, 23 Nov 2010 22:40:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-library-and-allocatable-arrays/m-p/782152#M1566</guid>
      <dc:creator>John_Kornak</dc:creator>
      <dc:date>2010-11-23T22:40:17Z</dc:date>
    </item>
  </channel>
</rss>

