<?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:MKL FFT on Intel Iris in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1419464#M33735</link>
    <description>&lt;P&gt;Hi Stemsc,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We assume your issue is resolved. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;BR /&gt;</description>
    <pubDate>Tue, 04 Oct 2022 17:11:32 GMT</pubDate>
    <dc:creator>ShanmukhS_Intel</dc:creator>
    <dc:date>2022-10-04T17:11:32Z</dc:date>
    <item>
      <title>MKL FFT on Intel Iris</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1411722#M33589</link>
      <description>&lt;P class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Hi all.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;I'm using MKL (ver.&amp;nbsp;2019.4.245) programmatically to calculate FFT : by linking static .lib (mkl_core.lib, mkl_intel_lp64.lib, mkl_intel_thread.lib) into a VS 2019 C++&amp;nbsp; project.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;All worked fine comparing results with the FFT by Matlab on all PC with Intel processor (11th generation family) and Intel Graphics UHD Family.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;STRONG class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Problem : running the same project on PC with Intel Iris Graphics Family, results are wrong: some output values are NaN (!) and only some values (the first) of original matrix columns are well processed.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;U class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;So that I moved to use last MKL : Intel oneAPI 2022.01 supposing new version supporting those Iris, but obtaining the same results as previous version of MKL.&lt;/SPAN&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;The C/C++ code is very simple:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;---------------------------------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;void FourierTransform(_MKL_Complex8* l_pMklInputOutputData, // input vectors&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;int p_iNumberOfRow, // num rows&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;int p_iNumberOfCol) // num columns&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;{&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;DFTI_DESCRIPTOR* l_pMklDftDescriptor=NULL;&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;DftiCreateDescriptor(&amp;amp;l_pMklDftDescriptor, DFTI_SINGLE, DFTI_COMPLEX, 1, (MKL_LONG)p_iNumberOfRow);&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;float l_fRangeScaleFactor = (float)(1.0);&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;DftiSetValue(l_pMklDftDescriptor, DFTI_FORWARD_SCALE, l_fRangeScaleFactor);&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;DftiCommitDescriptor(l_pMklDftDescriptor);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;for(l_iCol = 0; l_iCol&amp;lt; p_iNumberOfCol;l_iCol++)&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;{&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;_MKL_Complex8* l_pMklData = &amp;amp;l_pMklInputOutputData[l_iCol*p_iNumberOfRow];&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;// calculate FFT&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;l_ulResult = DftiComputeForward(l_pMklRangeDftDescriptor, l_pMklData, l_pMklData);&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;}&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;}&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;... where&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;l_pMklInputOutputData is the input vector of complex data to manage, previously allocated and filled by FourierTransform caller.&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Exiting from this method, the same vector will contain results of FFT by&amp;nbsp;DftiComputeForward one column at time.&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;On all PC with Intel CPU the results are the same except on Hw with Intel Iris *** Graphics.&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;-------------------------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;&lt;STRONG&gt;A simple workaround is&lt;/STRONG&gt; &lt;/SPAN&gt;&lt;STRONG class="sub_section_element_selectors"&gt;to separate input from output vector of FFT&lt;/STRONG&gt;, so that :&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;It works by changing :&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;FONT class="sub_section_element_selectors" color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;l_ulResult = DftiComputeForward(l_pMklRangeDftDescriptor, l_pMklData,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG class="sub_section_element_selectors"&gt;l_pMklData&lt;/STRONG&gt;);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;to :&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;FONT class="sub_section_element_selectors" color="#008000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;l_ulResult = DftiComputeForward(l_pMklRangeDftDescriptor, l_pMklData,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG class="sub_section_element_selectors"&gt;l_pOutData&lt;/STRONG&gt;);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;(where&amp;nbsp;&lt;EM class="sub_section_element_selectors"&gt;l_pOutData&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;is a temporarely vector previously allocated like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="sub_section_element_selectors"&gt;l_pMklData&lt;/EM&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Previous change is needed only on PC with Intel Iris Graphics.&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;U class="sub_section_element_selectors"&gt;I'm asking to Intel why that MKL API for FFT doesn't work on Intel Iris Graphics&lt;/U&gt;:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI class="sub_section_element_selectors"&gt;is there an hidden advice to avoid using the same vector as input/output, advice not available on MKL specifications? or&lt;/LI&gt;
&lt;LI class="sub_section_element_selectors"&gt;is a know bug of MKL FFT working on Intel Iris Graphics? or&lt;/LI&gt;
&lt;LI class="sub_section_element_selectors"&gt;some particular configuration of MKL linking is required to use it on Intel Iris Graphics ?&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Thanks to all&lt;/P&gt;</description>
      <pubDate>Tue, 30 Aug 2022 17:48:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1411722#M33589</guid>
      <dc:creator>stemsc</dc:creator>
      <dc:date>2022-08-30T17:48:43Z</dc:date>
    </item>
    <item>
      <title>Re:MKL FFT on Intel Iris</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1412158#M33597</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thank you for posting on Intel Communities.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Could you please let us know if you are working with One-dimensional In-place FFT or One-dimensional Out-of-place FFT?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;In addition, Could you please share a complete working reproducer or a project file and steps(if any) so that we could try reproducing the issue at our end and we could let you know the possible root cause?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thank you for sharing the detailed elaboration regarding the issue.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 01 Sep 2022 12:18:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1412158#M33597</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2022-09-01T12:18:34Z</dc:date>
    </item>
    <item>
      <title>Re: Re:MKL FFT on Intel Iris</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1412172#M33600</link>
      <description>&lt;P&gt;Thanks for your friendly reply.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm using Two dimensional FFT with descriptor set to&amp;nbsp;&lt;SPAN&gt;DFTI_NOT_INPLACE.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;I can't post entire or a shapshot of project, but involved/useful code is very simple :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;#include "mkl.h"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;.......&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;......&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;void FourierTransform(_MKL_Complex8* l_pMklInputOutputData, // input vectors&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;int p_iNumberOfRow, // num rows&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;int p_iNumberOfCol) // num columns&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;{&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;DFTI_DESCRIPTOR* l_pMklDftDescriptor=NULL;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;DftiCreateDescriptor(&amp;amp;l_pMklDftDescriptor, DFTI_SINGLE, DFTI_COMPLEX, 1, (MKL_LONG)p_iNumberOfRow);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;FONT color="#FF0000"&gt;DftiSetValue(l_pMklRangeDftDescriptor , DFTI_PLACEMENT, DFTI_NOT_INPLACE);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;float l_fRangeScaleFactor = (float)(1.0);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;DftiSetValue(l_pMklDftDescriptor, DFTI_FORWARD_SCALE, l_fRangeScaleFactor);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;DftiCommitDescriptor(l_pMklDftDescriptor);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;for(l_iCol = 0; l_iCol&amp;lt; p_iNumberOfCol;l_iCol++)&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;{&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;_MKL_Complex8* l_pMklData = &amp;amp;l_pMklInputOutputData[l_iCol*p_iNumberOfRow];&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;// calculate FFT&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;l_ulResult = DftiComputeForward(l_pMklRangeDftDescriptor, l_pMklData, l_pMklData);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;}&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;}&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;.......&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;......&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;---------------------------------------------------------------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Used project is a VS2019 project with following main specifications:&lt;/SPAN&gt;&lt;/EM&gt;
&lt;UL&gt;
&lt;LI class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Windows SDK version : 10.0.19041.0&lt;/SPAN&gt;&lt;/EM&gt;&lt;/LI&gt;
&lt;LI class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Platform toolset : Visual Studio 2019 v.142&lt;/SPAN&gt;&lt;/EM&gt;&lt;/LI&gt;
&lt;LI class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;C++ Language : ISO C++ ver. 14&lt;/SPAN&gt;&lt;/EM&gt;&lt;/LI&gt;
&lt;LI class="sub_section_element_selectors"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Target architecture : Windows x64&lt;/SPAN&gt;&lt;/EM&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Used MKL : &lt;SPAN&gt;ver.&amp;nbsp;2019.4.245 or (from)&amp;nbsp;oneAPI 2022.01.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Linked MKL libraries (static) :&amp;nbsp;&lt;SPAN&gt;mkl_core.lib, mkl_intel_lp64.lib, mkl_intel_thread.lib&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;In attachment a textual version of an example (InputDataOfFFT.txt) of Input Data (to fill into&amp;nbsp;l_pMklInputOutputData) at execution time.&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Using that input (filled to&amp;nbsp;l_pMklInputOutputData), with&amp;nbsp;p_iNumberOfRow =&amp;nbsp;5551 and&amp;nbsp;p_iNumberOfCol = 401, you can see (in attachment too) Wrong output of FFT running on PC with Intel Iris, and related Correct output running on another Intel Graphics (i.e Intel UHD).&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;To test:&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;you can easily insert "void FourierTransform" into a simple "main.cpp" and call it using a preallocated and filled array of _MKL_Complex8 with size&amp;nbsp;p_iNumberOfRow *&amp;nbsp;p_iNumberOfCol.&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Array could be filled with example data in attachment (InputDataOfFFT.txt).&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="lucida sans unicode,lucida sans" color="#0000FF"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;I suppose, even if I use "&lt;EM&gt;DftiComputeForward(desc_handle,&amp;nbsp;x_in,&amp;nbsp;y_out);"&amp;nbsp; with separated parameter for input and output - caused by DFTI_PLACEMENT previously set to&amp;nbsp; DFTI_NOT_INPLACE - "x-in" and "y-out"&amp;nbsp; can't be the same vector.... &lt;/EM&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="lucida sans unicode,lucida sans" color="#0000FF"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;&lt;EM&gt;.....But that code worked fine on all Intel Graphics until now. Why?&lt;/EM&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="lucida sans unicode,lucida sans" color="#0000FF"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;&lt;EM&gt;....Maybe was an hidden problem using these statements running on other Intel Graphics? .... and now the problem shows its effect on Intel Iris?&lt;/EM&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="lucida sans unicode,lucida sans" color="#0000FF"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;&lt;EM&gt;If previous code was wrong due to the same vector as input and output and&amp;nbsp;DFTI_PLACEMENT set to&amp;nbsp;DFTI_NOT_INPLACE,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="lucida sans unicode,lucida sans" color="#0000FF"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;&lt;EM&gt;I propose two solutions:&lt;/EM&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="lucida sans unicode,lucida sans" color="#008000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;&lt;EM&gt;DftiSetValue(l_pMklRangeDftDescriptor , DFTI_PLACEMENT, DFTI_NOT_INPLACE);&lt;/EM&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;FONT face="lucida sans unicode,lucida sans" color="#008000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;DftiComputeForward(l_pMklRangeDftDescriptor, l_pMklData, l_pOutData);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;FONT face="lucida sans unicode,lucida sans" color="#0000FF"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;or&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="lucida sans unicode,lucida sans" color="#008000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;&lt;EM&gt;DftiSetValue(l_pMklRangeDftDescriptor , DFTI_PLACEMENT, DFTI_INPLACE);&lt;/EM&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;FONT face="lucida sans unicode,lucida sans" color="#008000"&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;DftiComputeForward(l_pMklRangeDftDescriptor, l_pMklData);&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;&lt;EM&gt;What's your opinion? Do you agree? Which is the best solution?&lt;/EM&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;&lt;EM&gt;Many thanks for your friendly support.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2022 13:33:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1412172#M33600</guid>
      <dc:creator>stemsc</dc:creator>
      <dc:date>2022-09-01T13:33:55Z</dc:date>
    </item>
    <item>
      <title>Re: MKL FFT on Intel Iris</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1413837#M33639</link>
      <description>&lt;P&gt;Hi Stemsc,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for sharing the details. The previous code was wrong as the same vector was used for input and output. We would require a minimum reproducer to trace the issue. Please refer to the below link for details regarding the DftiComputeForward handle and for corresponding configuration seeings.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/fourier-transform-functions/fft-functions/fft-computation-functions/dfticomputeforward.html#dfticomputeforward" target="_blank"&gt;https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/fourier-transform-functions/fft-functions/fft-computation-functions/dfticomputeforward.html#dfticomputeforward&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For configuration settings:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/fourier-transform-functions/fft-functions/configuration-settings.html#configuration-settings" target="_blank"&gt;https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/fourier-transform-functions/fft-functions/configuration-settings.html#configuration-settings&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Oct 2022 17:28:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1413837#M33639</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2022-10-04T17:28:09Z</dc:date>
    </item>
    <item>
      <title>Re: MKL FFT on Intel Iris</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1415899#M33675</link>
      <description>&lt;P&gt;Hi Stemsc,&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;I can't post entire or a shapshot of project&lt;/EM&gt;&lt;BR /&gt;&amp;gt;&amp;gt; Could you please let us know if we could contact you in a private way (via mail) for the complete source reproducer? Based in the shared source code, we'll reproduce the issue and we will be assisting on that.&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Oct 2022 17:18:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1415899#M33675</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2022-10-04T17:18:18Z</dc:date>
    </item>
    <item>
      <title>Re: MKL FFT on Intel Iris</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1417711#M33715</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hi Stemsc,&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;A gentle reminder:&lt;/EM&gt;&lt;BR /&gt;Could you please let us know if we could contact you in a private way (via mail) for the complete source reproducer so that we could try investigating the issue at our end?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Shanmukh.SS&lt;/P&gt;</description>
      <pubDate>Tue, 27 Sep 2022 17:09:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1417711#M33715</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2022-09-27T17:09:14Z</dc:date>
    </item>
    <item>
      <title>Re:MKL FFT on Intel Iris</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1419464#M33735</link>
      <description>&lt;P&gt;Hi Stemsc,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We assume your issue is resolved. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 04 Oct 2022 17:11:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-on-Intel-Iris/m-p/1419464#M33735</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2022-10-04T17:11:32Z</dc:date>
    </item>
  </channel>
</rss>

