<?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 could you show VERBOSE mode in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-not-working-for-N-gt-2048/m-p/1141561#M26340</link>
    <description>&lt;P&gt;could you show VERBOSE mode output?&lt;/P&gt;</description>
    <pubDate>Thu, 11 Oct 2018 03:44:16 GMT</pubDate>
    <dc:creator>Gennady_F_Intel</dc:creator>
    <dc:date>2018-10-11T03:44:16Z</dc:date>
    <item>
      <title>FFT not working for N &gt;= 2048</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-not-working-for-N-gt-2048/m-p/1141560#M26339</link>
      <description>&lt;P&gt;I'm attempting to compute an FFT on sizes N&amp;gt;=2048. What I can't explain is why the FFT output looks great for N&amp;lt;2048 but then goes to garbage when N&amp;gt;=2048. I've poured over other forum posts and examples online and haven't found anything useful to date. I'm using the 2019 initial release on 64-bit CentOS7 machine compiled into C++ project.&lt;/P&gt;

&lt;P&gt;My code is pretty simple, but hopefully it is something obvious that I've just overlooked.&lt;/P&gt;

&lt;P&gt;My tempSignal variable is the real data coming from an RF receiver. You'll notice the printf statements. The first printf statement is logging the fftInput to terminal which I then copy into Matlab. The final printf shows only the first 20 entries of the fftOutput which I then compare to what Matlab produces via its fft function.&lt;/P&gt;

&lt;PRE class="brush:cpp; class-name:dark;"&gt;unsigned int N = 2048
std::vector&amp;lt;MKL_Complex8&amp;gt; fftInput(N);
for(unsigned int i=0; i&amp;lt;fftInput.size(); ++i) {
  fftInput.data()&lt;I&gt;.real = tempSignal.getData()&lt;I&gt;.real();
  fftInput.data()&lt;I&gt;.imag = tempSignal.getData()&lt;I&gt;.imag();
  printf("%f + %fi\n", fftInput.data()&lt;I&gt;.real, fftInput.data()&lt;I&gt;.imag);
}

std::vector&amp;lt;MKL_Complex8&amp;gt; fftOutput(fftInput.size());

DFTI_DESCRIPTOR_HANDLE descriptor;
MKL_LONG status;
status = DftiCreateDescriptor(&amp;amp;descriptor, DFTI_SINGLE, DFTI_COMPLEX, 1, fftInput.size());
status = DftiSetValue(descriptor, DFTI_PLACEMENT, DFTI_NOT_INPLACE); //Out of place FFT
status = DftiCommitDescriptor(descriptor); //Finalize the descriptor
status = DftiComputeForward(descriptor, fftInput.data(), fftOutput.data()); //Compute the Forward FFT
status = DftiFreeDescriptor(&amp;amp;descriptor); //Free the descriptor

for(unsigned int i=0; i&amp;lt;20; ++i) {
  printf("i: %d, (%f, %f)\n", i, fftOutput&lt;I&gt;.real, fftOutput&lt;I&gt;.imag);
}&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;

&lt;P&gt;Thanks in advance for any help.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Oct 2018 18:28:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-not-working-for-N-gt-2048/m-p/1141560#M26339</guid>
      <dc:creator>Novack__Bryan</dc:creator>
      <dc:date>2018-10-09T18:28:26Z</dc:date>
    </item>
    <item>
      <title>could you show VERBOSE mode</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-not-working-for-N-gt-2048/m-p/1141561#M26340</link>
      <description>&lt;P&gt;could you show VERBOSE mode output?&lt;/P&gt;</description>
      <pubDate>Thu, 11 Oct 2018 03:44:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-not-working-for-N-gt-2048/m-p/1141561#M26340</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2018-10-11T03:44:16Z</dc:date>
    </item>
    <item>
      <title>For those who come across</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-not-working-for-N-gt-2048/m-p/1141562#M26341</link>
      <description>&lt;P&gt;For those who come across this post.....&lt;/P&gt;

&lt;P&gt;I don't fully understand why but my problem was solved by linking against the following libraries:&lt;/P&gt;

&lt;P&gt;&amp;nbsp; "iomp5",&lt;BR /&gt;
	&amp;nbsp; "mkl_core",&lt;BR /&gt;
	&amp;nbsp; "mkl_intel_ilp64",&lt;BR /&gt;
	&amp;nbsp; "mkl_intel_thread",&lt;/P&gt;

&lt;P&gt;I was initially linking against only "mkl_rt" which 'worked' in the sense that it executed, but the results were not correct. Someone mentioned in a different forum post to use the following website which I did and it led me to use the libraries I listed above.&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor" target="_blank"&gt;https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Maybe this will help someone else along the way.&lt;/P&gt;</description>
      <pubDate>Thu, 11 Oct 2018 12:03:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/FFT-not-working-for-N-gt-2048/m-p/1141562#M26341</guid>
      <dc:creator>Novack__Bryan</dc:creator>
      <dc:date>2018-10-11T12:03:38Z</dc:date>
    </item>
  </channel>
</rss>

